0

私はpythonが初めてで、「リクエスト」モジュールが初めてで、stackoverflowが初めてなので、簡単に行ってください。:)私のコードに関して、これが何を意味するかについて誰かが私にいくつかの指針を与えることができれば、私は深く感謝します。

コード:

import requests

url = 'https://somewebsite.com/svc/api/json/loginUser'


headers = {'User-Agent':'Python _dopost() method',
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Charset':'Shift_JIS,utf-8;q=0.7,*;q=0.7',
    'Accept-Encoding':'gzip,deflate',
    'Content-Type':'/plain; charset=UTF-8'}

data = {'<soapenv:Envelope><soapenv:Body><loginUser><email>tacoflavoredkisses@yum.com</email><password>password</password><setcookie>1</setcookie><remember>1</remember></loginUser></soapenv:Body></soapenv:Envelope>'}

r = requests.post(url, data=data, headers=headers)

エラー: TypeError: 'set' オブジェクトは添字可能ではありません

非常に長い python エラーが発生した場合は、スニペットを示します。うまくいけば十分です。

TypeError                                 Traceback (most recent call last)
/Library/Python/2.7/site-packages/ipython-0.13.1-py2.7.egg/IPython/utils/py3compat.pyc in execfile(fname, *where)
176             else:
177                 filename = fname
--> 178             __builtin__.execfile(filename, *where)

 21 
 22 payload = {'<soapenv:Envelope><soapenv:Body><loginUser><email>tacoflavoredkisses@yum.com</email><password>password</password><setcookie>1</setcookie><remember>1</remember></loginUser></soapenv:Body></soapenv:Envelope>'}
---> 23 r = requests.post(url, data=data, headers=headers)
 24 
 25 print r.status_code

/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/api.pyc in post(url, data, **kwargs)
 85     """
 86 
---> 87     return request('post', url, data=data, **kwargs)
/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/api.pyc in request(method, url, **kwargs)
 42 
 43     session = sessions.Session()
---> 44     return session.request(method=method, url=url, **kwargs)
/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/sessions.pyc in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert)
277 
278         # Send the request.
--> 279         resp = self.send(prep, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies)
/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/sessions.pyc in send(self, request, **kwargs)
372         """Send a given PreparedRequest."""
373         adapter = self.get_adapter(url=request.url)
--> 374         r = adapter.send(request, **kwargs)
4

1 に答える 1

1

データを文字列に変更すると、この問題が解決されました。

于 2017-08-22T05:23:25.720 に答える