Python を使用して cURL コマンドを実行するにはどうすればよいでしょうか? 質問する

Python を使用して cURL コマンドを実行するにはどうすればよいでしょうか? 質問する

Pythonでcurlコマンドを実行したいです。

通常は、ターミナルにコマンドを入力してリターンキーを押すだけです。しかし、Python ではどのように動作するのかわかりません。

コマンドは以下のようになります:

curl -d @request.json --header "Content-Type: application/json" https://www.googleapis.com/qpxExpress/v1/trips/search?key=mykeyhere

request.json応答を得るために送信するファイルがあります。

いろいろ調べましたが、混乱してしまいました。コードを書いてみましたが、完全に理解できず、動作しませんでした。

import pycurl
import StringIO

response = StringIO.StringIO()
c = pycurl.Curl()
c.setopt(c.URL, 'https://www.googleapis.com/qpxExpress/v1/trips/search?key=mykeyhere')
c.setopt(c.WRITEFUNCTION, response.write)
c.setopt(c.HTTPHEADER, ['Content-Type: application/json','Accept-Charset: UTF-8'])
c.setopt(c.POSTFIELDS, '@request.json')
c.perform()
c.close()
print response.getvalue()
response.close()

エラーメッセージは ですParse Error。サーバーから正しく応答を取得するにはどうすればよいでしょうか?

ベストアンサー1

簡単にするために、リクエスト図書館。

JSON 応答コンテンツの例は次のようになります。

import requests
r = requests.get('https://github.com/timeline.json')
r.json()

さらに詳しい情報をお知りになりたい場合は、クイックスタートセクションには、実用的な例がたくさんあります。

特定の curl 翻訳の場合:

import requests

url = 'https://www.googleapis.com/qpxExpress/v1/trips/search?key=mykeyhere'
payload = open("request.json")
headers = {'content-type': 'application/json', 'Accept-Charset': 'UTF-8'}
r = requests.post(url, data=payload, headers=headers)

おすすめ記事