Что эквивалентно cURLs —data-urlencode в pycurl?

#curl #pycurl

#curl #pycurl

Вопрос:

Я пытаюсь преобразовать следующую команду cURL в pycurl, но не могу определить, что эквивалентно —data-urlendcode?

 curl --connect-timeout 5 -u usr:pwd --data-urlencode "XML=<setBackground><background><image>http://1.1.1.1/Desktops/320x196x4/grad.png</image><icon> http://1.1.1.1/Desktops/320x196x4/TN-grad.png</icon></background></setBackground>" http://2.2.2.2:80/CGI/Execute
  

Ответ №1:

в модуле urllib есть urlencoder

итак

 mydict = {'test1':'att1','test2':'att2'}
my_encoded_list = urlencode(mydict)
  

создает словарь и urlencodes его.

Ответ №2:

Вот версия python 3. Если вы используете python 2, пожалуйста, используйте urllib для запроса и urlencode.

 import urllib
your_dict = {"a": "a", "b": "b"}
res = urllib.request.urlopen(YOUR_URL, urllib.parse.urlencode(your_dict).encode())
# Get the result
print(res.read())