8

我想使用自定义标头以编程方式发出 POST 请求。我怎样才能做到这一点?

实际上我正在尝试这样;使用谷歌缩短器 api。也许我误解了:/

提前谢谢你:)

4

3 回答 3

14

答案很好用。但找到了另一种解决方案

import requests
import json

url = 'https://www.googleapis.com/urlshortener/v1/url'
data = {'longUrl': 'http://www.google.com/'}
headers = {'Content-Type': 'application/json'}

r = requests.post(url, data=json.dumps(data), headers=headers)

然后

answer = json.loads(r.text)

或者

answer = r.json()

这是requests包裹;代码文档

于 2013-06-20T07:32:34.343 回答
5

要使用 Python 和标头发送 POST 请求,您可以执行类似的操作

import urllib2
import json
data = {'data':'data'}
url = api_url
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(url, data=json.dumps(data))
request.add_header("Content-Type", "application/json") #Header, Value                                        
opener.open(request)
于 2013-06-20T06:56:07.737 回答
0
import json
import requests
def short_url(url):
    post_url = 'https://www.googleapis.com/urlshortener/v1/url?key={API_KEY}'
    params = json.dumps({'longUrl': url})
    response = requests.post(post_url,params,headers={'Content-Type': 'application/json'})
    return response.json()['id']
于 2015-05-18T01:09:11.727 回答