title: How to do a get request in Micropython on ESP32?
body: <p>I'm trying to do a simple get request with Micropython on an ESP32. Unfortunately I keep getting <code>OSError: -202</code>.</p>
  <p>That's what I have so far:</p>
  <p>wlan.py</p>
  <pre><code>import network
  
  wlan = network.WLAN(network.STA_IF) # create station interface
  wlan.active(True)       # activate the interface
  wlan.connect('Schmittli', 'the key') # connect to an AP
  wlan.ifconfig()         # get the interface's IP/netmask/gw/DNS addresses
  </code></pre>
  <p>And this is the REPL output:</p>
  <pre><code>&gt;&gt;&gt; import wlan
  import wlan
  I (19080) wifi:wifi driver task: 3ffd1058, prio:23, stack:3584, core=0
  I (38466) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
  I (38466) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
  I (38506) wifi:wifi firmware version: 44aa95c
  I (38506) wifi:config NVS flash: enabled
  I (38506) wifi:config nano formating: disabled
  I (38506) wifi:Init dynamic tx buffer num: 32
  I (38506) wifi:Init data frame dynamic rx buffer num: 32
  I (38516) wifi:Init management frame dynamic rx buffer num: 32
  I (38516) wifi:Init management short buffer num: 32
  I (38526) wifi:Init static rx buffer size: 1600
  I (38526) wifi:Init static rx buffer num: 10
  I (38536) wifi:Init dynamic rx buffer num: 32
  W (38536) phy_init: failed to load RF calibration data (0x1102), falling back to full calibration
  I (38676) phy: phy_version: 4180, cb3948e, Sep 12 2019, 16:39:13, 0, 2
  I (38696) wifi:mode : sta (30:ae:a4:f6:0f:08)
  I (38696) wifi: STA_START
  &gt;&gt;&gt; I (38816) wifi:new:&lt;1,0&gt;, old:&lt;1,0&gt;, ap:&lt;255,255&gt;, sta:&lt;1,0&gt;, prof:1
  I (39666) wifi:state: init -&gt; auth (b0)
  I (39676) wifi:state: auth -&gt; assoc (0)
  I (39686) wifi:state: assoc -&gt; run (10)
  I (39706) wifi:connected with Schmittli, aid = 28, channel 1, BW20, bssid = a0:b5:49:00:c6:cd
  I (39706) wifi:security type: 3, phy: bgn, rssi: -53
  I (39706) wifi:pm start, type: 1
  
  I (39716) network: CONNECTED
  I (39776) wifi:AP's beacon interval = 102400 us, DTIM period = 3
  I (42456) event: sta ip: 192.168.1.118, mask: 255.255.255.0, gw: 192.168.1.1
  I (42456) network: GOT_IP
  
  
  &gt;&gt;&gt; import urequests
  import urequests
  I (72686) modsocket: Initializing
  &gt;&gt;&gt; response = urequests.get('http://jsonplaceholder.typicode.com/albums/1')
  response = urequests.get('http://jsonplaceholder.typicode.com/albums/1')
  Traceback (most recent call last):
    File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;
    File &quot;urequests.py&quot;, line 108, in get
    File &quot;urequests.py&quot;, line 53, in request
  OSError: -202
  </code></pre>
  <p>I tried with two different ESP32 boards, so I don't think this is not a hardware problem. And yes, the URL works fine in my browser.</p>
  <p><strong>Update</strong></p>
  <p>Requesting the same service with it's IP address works. So it's a DNS Problem. I have 10+ diffrent devices on the same WLAN. All are working fine. So I really think this is a Mircopython problem.</p>
  <p>This is the configuration, after the ESP32 connects to the WLAN:</p>
  <pre><code>&gt;&gt;&gt; wlan.ifconfig()
  wlan.ifconfig()
  ('192.168.1.116', '255.255.255.0', '192.168.1.1', '42.2.18.11')
  </code></pre>
  <p>In all my other devices the DNS server is '192.168.1.1'. I tried to set the DNS server manually in the ESP32, but that does not work:</p>
  <pre><code>&gt;&gt;&gt; wlan.ifconfig('192.168.1.116', '255.255.255.0', '192.168.1.1', '192.168.1.1')
  wlan.ifconfig('192.168.1.116', '255.255.255.0', '192.168.1.1', '192.168.1.1')
  Traceback (most recent call last):
    File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;
  TypeError: function expected at most 2 arguments, got 5
  &gt;&gt;&gt; wlan.status()
  </code></pre>
  <p>Any ideas?</p>