如何使用python执行curl命令
我想在python中执行curl命令。
通常,我只需要在终端输入命令并按回车键。 但是,我不知道它在python中是如何工作的。
该命令如下所示:
curl -d @ --header "Content-Type: application/json" /qpxExpress/v1/trips/search?key=mykeyhere
有一个文件要发送以获得响应。
我经常搜索并感到困惑。 我试着写一段代码,虽然我无法完全理解。 它没用。
import pycurl
import StringIO
response = ()
c = ()
(, '/qpxExpress/v1/trips/search?key=mykeyhere')
(, )
(, ['Content-Type: application/json','Accept-Charset: UTF-8'])
(, '@')
()
()
print ()
()
错误信息是'Parse Error'。任何人都可以告诉我如何修复它? 或者如何正确地从服务器获得响应?
Qiang Fu asked 2019-04-29T07:44:26Z
7个解决方案
106 votes
为简单起见,您可以考虑使用标准库要求。
json响应内容的示例如下:
import requests
r = ('/')
()
如果您要查找更多信息,请在“快速入门”部分中找到许多有用的示例。
编辑:
对于您的特定卷曲翻译:
import requests
url = '/qpxExpress/v1/trips/search?key=mykeyhere'
payload = open("")
headers = {'content-type': 'application/json', 'Accept-Charset': 'UTF-8'}
r = (url, data=payload, headers=headers)
otorrillas answered 2019-04-29T07:44:58Z
17 votes
只需使用这个网站。 它会将任何curl命令转换为Python,,PHP,R或Go。
例:
curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' /services/asdfasdfasdf
在Python中成为现实,
import requests
headers = {
'Content-type': 'application/json',
}
data = '{"text":"Hello, World!"}'
response = ('/services/asdfasdfasdf', headers=headers, data=data)
Kyle Bridenstine answered 2019-04-29T07:45:31Z
12 votes
import requests
url = "/qpxExpress/v1/trips/search?key=mykeyhere"
data = (url).json
也许?
如果您要发送文件
files = {'request_file': open('', 'rb')}
r = (url, files=files)
print , print
啊,谢谢@LukasGraf现在我更好地理解他原来的代码在做什么
import requests,json
url = "/qpxExpress/v1/trips/search?key=mykeyhere"
my_json_data = (open(""))
req = (url,data=my_json_data)
print # maybe?
Joran Beasley answered 2019-04-29T07:46:04Z
11 votes
curl -d @ --header "Content-Type: application/json" /qpxExpress/v1/trips/search?key=mykeyhere
它的python实现就像
import requests
headers = {
'Content-Type': 'application/json',
}
params = (
('key', 'mykeyhere'),
)
data = open('')
response = ('/qpxExpress/v1/trips/search', headers=headers, params=params, data=data)
#NB. Original query string below. It seems impossible to parse and
#reproduce query strings 100% accurately so the one below is given
#in case the reproduced version is not "correct".
# response = ('/qpxExpress/v1/trips/search?key=mykeyhere', headers=headers, data=data)
检查此链接,它将帮助将cURl命令转换为python,php和nodejs
cryptoKTM answered 2019-04-29T07:46:35Z
3 votes
我的回答是WRT python 2.6.2。
import commands
status, output = ("curl -H \"Content-Type:application/json\" -k -u (few other parameters required) -X GET -s")
print output
我为没有提供必要的参数而道歉,因为它是保密的。
apoorva_bhat answered 2019-04-29T07:47:06Z
1 votes
有一个很好的网站[/]为您进行转换。 它确实从cURL转换为Python,,R,PHP,Go。
Edgar Manukyan answered 2019-04-29T07:47:30Z
-2 votes
这可以通过下面提到的伪代码方法来实现
导入os导入请求Data = (curl URL)R = ()
user9761315 answered 2019-04-29T07:48:01Z