0

これは本当に平凡でばかげていると確信していますが、私の人生ではそれを理解することはできません.

Requests を使用した POST リクエストが次のようになる Alchemy API を使用しています。

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

ペイロードは、次のような URL エンコードされたテキストのフィールドを持つ辞書ですtext=this%20is%text

私が抱えている愚かな問題は、次のようなエンコーディングにurllibを使用する場合ですmyText = urlencode({'text': textToEncode})

それをペイロードに挿入することはできません。payload={'text': myText}おそらく次のようなものが得られるからですtext=text=this%20is%text

文字列自体をエンコードできれば、これは非常に簡単になります。エンコーディング関数は、辞書全体がエンコードされるため、辞書への挿入を回避できないこのようなものを追加します。

信じられないほど単純でばかげた何かが欠けていますか?

4

1 に答える 1

1

Content-typeたとえば、ヘッダーを含めてapplication/jsonから、 を使用してみてくださいdata=json.dumps(payload)

import json
headers['Content-type'] = 'application/json'
r = requests.post(url, data=json.dumps(payload), headers=headers)
于 2015-03-23T03:56:22.147 に答える