2017-12-05 7 views
0

paramsで '@'を指定してrequest.getを使用しようとしましたが、出力に '%40'があります。このディクテーションをどのようにデコードできますか? '?。URL PRODUCTID%40type = ReferenceID' の代わりのparamsのPythonリクエスト@params

+0

おそらく[this](https://stackoverflow.com/questions/8628152/url-decode-with-python-3)がお探しですか? –

+0

これもチェックしてもうまくいきません – TheRutubeify

+0

['urllib.parse.unquote'](https://docs.python.org/3/library/urllib.parse.html#urllib.parse.unquote)を使う:' unquote ( "url?productId。%40type = ReferenceID") 'は ' 'url?productId。@ type = ReferenceID''を返します。それについて何が間違っていますか? –

答えて

1

使用 "データ" 引数 - のpython3

import requests 

payload = {'OPERATION-NAME': 'findItemsByProduct','[email protected]':'ReferenceID'} 

req = requests.post(url, params=payload) 

print(req.url) 

出力が使用

。ヘッダ(この場合はjson)を指定して、json.dumps()を使用してペイロードdictをjsonに変換する必要があります。

import requests 
import json 


payload = {'[email protected]':'ReferenceID'} 

req = requests.post(url, headers={'Content-Type': 'application/JSON'}, data=json.dumps(payload)) 

print(req.url) 
+0

私はあなたにOPに答えましたが、説明はしていません。あなたの答えにいくつかの文脈を含めてください。 –

+0

それは動作しません – TheRutubeify

+0

私はヘッダーを含めることを忘れて、もう一度やり直してみてください。有効なURLがあることを確認してください。あなたが得るものはリクエスト(req)ではないのでレスポンスですので、reqでreqの名前を変更する必要があります。 – epinal

関連する問題