Отправка http-запроса на upload-файла на Yandex.narod2

  1. #отправка HTTP запроса на вход на яндекс.народ2
  2.     conn = httplib.HTTPConnection("passport.yandex.ru")
  3.     params = urllib.urlencode({'login': "xxxxxxxxxx", 'passwd': "yyyyyyyy"})
  4.     headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/html"}
  5.     conn.request("POST", "/passport?mode=login&retpath=http://хххххххх.narod2.yandex.ru/edit/", params, headers)
  6.     r1 = conn.getresponse()
  7.     print r1.status, r1.reason
  8.     data1 = r1.read()
  9.     #print data1
  10.     conn.close()
  11.  
  12.     #парсим куки ответа
  13.     cookp = data1.find('Set-Cookie: ')
  14.     cookend = 0;
  15.     cooks = "Cookie: "
  16.     while cookp > 0 :
  17.         cookp += 12
  18.         cookend = data1.find(';',cookp)
  19.         cooks += data1[cookp:cookend]
  20.         cookp = data1.find('Set-Cookie: ',cookend)
  21.         if cookp > 0 :
  22.             cooks += "; "
  23.     print(str(cooks))
  24.  
  25.     #шлём файл
  26.     print("\n\n")
  27.     conn = httplib.HTTPConnection("xxxxxxxxxxx.narod2.yandex.ru")
  28.     postbody = '''--bndr777
  29.    Content-Disposition: form-data; name="action"
  30.  
  31.    upload
  32.    --bndr777
  33.    Content-Disposition: form-data; name="currentDir"
  34.  
  35.    /
  36.    --bndr777
  37.    Content-Disposition: form-data; name="files"; filename="ipaddr.txt"
  38.    Content-Type: text/plain
  39.  
  40.    xx.xx.xx.xx
  41.    --bndr777--'''
  42.  
  43.     headers = {"Content-type": "multipart/form-data; boundary=bndr777","Content-Length": str(len(postbody)),"Accept": "text/html","Cookie": cooks,}
  44.     conn.request("POST", "/filemanager/", postbody, headers)
  45.     r1 = conn.getresponse()
  46.     print r1.status, r1.reason
  47.     data1 = r1.read()
  48.     print("\n\n")
  49.     print data1
  50.     conn.close()
хтмл форма впридачу:
<form id="b-far-upload" action="/filemanager/" method="POST" enctype="multipart/form-data">
<div class="b-upload-file">
<input type="file" id="b-far-upload-file" name="file" value=""/>
</div>
<input type="hidden" name="action" value="upload"/>
<input type="hidden" name="currentDir" value="/"/>
</form>

Реклама

Мы в соцсетях

tw tg yt gt