首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python httplib2.Http不发送post参数

Python httplib2.Http不发送post参数
EN

Stack Overflow用户
提问于 2011-03-22 09:20:07
回答 2查看 2.2K关注 0票数 2

我一直在尝试使用Twilio的httplib2 Http类向Twilio发出API请求,无论我如何尝试设置该请求,它都不会发送我的post数据。我知道这一点,因为我发布到一个本地URL,而post参数是空的。下面是我的代码:

代码语言:javascript
运行
复制
_TWILIO_URL = 'https://api.twilio.com/2010-04-01/Accounts/%s/%s'
class Api(object):
    '''
    A Python interface to the Twilio API
    '''

    def __init__(self, AccountSid, AuthToken, From):
        self.AccountSid = AccountSid
        self.AuthToken = AuthToken
        self.From = From

    def _get_from(self, From):
        """Use the provided From number or the one defined on initialization"""
        if From:
            return From
        else:
            return self.From

    def call(self, To, Url, From=None):
        """Sends a request to Twilio having it call a number; the provided URL will indicate how to handle the call"""
        url = _TWILIO_URL % (self.AccountSid, 'Calls')
        data = dict(From=self._get_from(From), To=To, Url=Url)
        return self.request(url, body=urlencode(data))

    def request(self, url, method='POST', body=None, headers={'content-type':'text/plain'}):
        """Send the actual request"""
        h = Http()
        h.add_credentials(self.AccountSid, self.AuthToken)
        resp, content =  h.request(url, method=method, body=body, headers=headers)

        print content

        if resp['status'] == '200':
            return loads(content)
        else:
            raise TwilioError(resp['status'], content)

    def sms(self, To, Body, From=None):
        """Sends a request to Twilio having it call a number; the provided URL will indicate how to handle the call"""
        url = _TWILIO_URL % (self.AccountSid, 'SMS/Messages')
        data = dict(From=self._get_from(From), To=To, Body=Body)
        return self.request(url, body=urlencode(data))

我在谷歌上找不到任何关于故障排除的东西

EN

Stack Overflow用户

发布于 2011-03-22 09:35:06

Twilio在their API docs concerning POST requests中提到了这个要求

,但请确保将HTTP Content-Type标头设置为

"application/x-www-form-urlencoded“用于您的请求(如果您正在编写自己的客户端)。

票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5385699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档