如何使用本机库2.7将curl转换为python代码

时间:2016-06-28 18:46:39

标签: python python-2.7 api curl

如何将下面的curl转换为python代码。 我对如何包含api密钥感到困惑,我知道应该是什么价值。 python代码必须只包含本机库

curl -G -H "api_key: YOUR_API_KEY" https://api.semantics3.com/test/v1/products --data-urlencode 'q={"search":"apple iphone"}'

由于 丹尼尔

2 个答案:

答案 0 :(得分:3)

最简单方便的方法是在python中使用请求库。 只需导入请求库,您就可以执行所有REST操作

实施例: -

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}

请按照以下指南进行操作。使用起来非常方便。

http://docs.python-requests.org/en/master/

答案 1 :(得分:-1)

我将使用请求库。 我可以发送请求 但我无法发送相同的api密钥,当我卷曲时,因为它带有错误消息无效api

python代码...尽管使用与curl代码相同的密钥,但会抛出无效的api密钥错误

SELECT 'U' as ACTION
       , product_id
       , GROUP_CONCAT(PC.category_id SEPARATOR ', ') as Categories 
FROM   Products P LEFT JOIN Product_Category PC 
           ON PC.product_id = P.product_id

卷曲代码,工作正常

import requests

payload = {'api_key:SEM3DC0261ECC65764A9F8B2B8008F16XXXX' 'q': {'search', 'apple iphone'}}

r = requests.get('https://api.semantics3.com/test/v1/products ', params=payload)
print(r.url)
print(r.text) 

api键部分消隐

我该怎么办?

谢谢Daniel