python中的Http POST Curl
我很难理解如何从python内部使用curl发出HTTP POST请求 我想在facebook上发布开放图。下面是他们给出的示例,我想在python中完全复制它python中的Http POST Curl,python,http,post,curl,facebook-opengraph,Python,Http,Post,Curl,Facebook Opengraph,我很难理解如何从python内部使用curl发出HTTP POST请求 我想在facebook上发布开放图。下面是他们给出的示例,我想在python中完全复制它 curl -F 'access_token=...' \ -F 'message=Hello, Arjun. I like this new API.' \ https://graph.facebook.com/arjun/feed 有人能帮我理解这一点吗?您可以使用Python或更高级别的工具发布帖子 还有一个特
curl -F 'access_token=...' \
-F 'message=Hello, Arjun. I like this new API.' \
https://graph.facebook.com/arjun/feed
有人能帮我理解这一点吗?您可以使用Python或更高级别的工具发布帖子
还有一个特定于Facebook的Python高级库,可以为您完成所有的发布
首先为什么要使用curl Python为Facebook提供了广泛的库,包括用于web请求的库,调用另一个程序并接收输出是不必要的 也就是说 首先来自Python文档
数据
可以是指定要发送到服务器的其他数据的字符串,
或None
如果不需要此类数据。目前HTTP请求是
只有那些使用数据的人HTTP请求将是POST
而不是
提供数据参数时获取<代码>数据应为中的缓冲区
标准应用程序/x-www-form-urlencoded
格式。这个
urllib.urlencode()函数接受一个2元组的映射或序列
并返回此格式的字符串。urllib2模块发送HTTP/1.1
具有连接的请求:包括关闭标头
所以
导入urllib2,urllib
参数={}
参数['token']='sdfsdb23424'
参数['message']='Hello world'
靶子http://www.target.net/work'
parameters=urllib.urlencode(参数)
handler=urllib2.urlopen(目标,参数)
尽管如此:
如果handler.code<400:
打印“完成”
#给你的工作打电话
打破
elif handler.code>=400:
打印“错误请求或错误”
#失败
打破
import urllib
params = {}
params['access_token'] = '*****'
params['message'] = 'Hello, Arjun. I like this new API.'
params = urllib.urlencode(params)
f = urllib.urlopen("https://graph.facebook.com/arjun/feed", params)
print f.read()
import urllib2, urllib
parameters = {}
parameters['token'] = 'sdfsdb23424'
parameters['message'] = 'Hello world'
target = 'http://www.target.net/work'
parameters = urllib.urlencode(parameters)
handler = urllib2.urlopen(target, parameters)
while True:
if handler.code < 400:
print 'done'
# call your job
break
elif handler.code >= 400:
print 'bad request or error'
# failed
break