Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >请求工作,而URLFetch不工作

请求工作,而URLFetch不工作
EN

Stack Overflow用户
提问于 2015-07-15 13:20:29
回答 2查看 2.4K关注 0票数 2

我试图在google应用引擎应用程序中向python中的粒子服务器提出请求。

在我的终端中,我可以简单而成功地完成请求,请求如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res = requests.get('https://api.particle.io/v1/devices', params={"access_token": {ACCESS_TOKEN}})

但是在我的应用程序中,同样的东西不适用于urlfetch,它一直告诉我它找不到访问令牌:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    url = 'https://api.particle.io/v1/devices'
    payload = {"access_token": {ACCESS_TOKEN}}
    form_data = urllib.urlencode(payload)
    res = urlfetch.fetch(
        url=url,
        payload=form_data,
        method=urlfetch.GET,
        headers={
            'Content-Type':
            'application/x-www-form-urlencoded'
        },
        follow_redirects=False 
    )

我不知道问题出在哪里,也无法调试。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-15 14:41:43

简而言之,您的问题是,在urlfetch示例中,您将访问令牌嵌入到请求主体中,而且由于发出GET请求,-which无法携带任何请求体--这些信息将被丢弃。

为什么你的第一个片段能工作?

因为requests.get()采用可选的params参数,意思是:“使用我给您的字典,将它的所有键/值对转换为查询字符串,并将其附加到主URL中。”

因此,在窗帘的后面,requests.get()正在构建这样的字符串:

https://api.particle.io/v1/devices?access_token=ACCESS_TOKEN

这是正确的端点,您应该指向GET请求。

为什么你的第二个片段不能工作?

这一次,urlfetch.fetch()使用了与requests.get()不同的语法(但仍然是等价的)。这里要注意的重要一点是,payload参数并不意味着与您以前在requests.get()中使用的params参数相同。

urlfetch.fetch()期望我们的查询字符串-if any-已经被urlencoded编码到URL中了(这就是为什么urllib.urlencode()在这里起作用)。另一方面,payload是当您发出POST、put或修补请求时应该将请求体放在那里的地方,但是Parle.io的端点并不期望您的OAuth访问令牌在那里。

像这样的东西应该有效(免责声明:未测试):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
auth = {"access_token": {ACCESS_TOKEN}}
url_params = urllib.urlencode(auth)
url = 'https://api.particle.io/v1/devices?%s' % url_params

res = urlfetch.fetch(
    url=url,
    method=urlfetch.GET,
    follow_redirects=False 
)

请注意,现在我们不再需要您以前的Content-type头了,因为我们毕竟没有任何内容。因此,可以从这个示例调用中删除headers参数。

作为进一步的参考,请看一看urlfetch.fetch() 参考文献这根线,它们有望使您更深入地了解HTTP方法、参数和请求体,而不是我这里糟糕的解释。

PS:如果particle.io服务器支持它(它们应该支持它),那么您应该远离这个身份验证模式,而是将令牌放在Authorization: Bearer <access_token>头中。在URL中携带访问令牌并不是一个好主意,因为这样可以更明显地看到它们,并且倾向于保持在服务器上,因此会带来安全风险。另一方面,在TLS会话中,所有请求标头都是加密的,因此您的auth令牌隐藏得很好。

票数 10
EN

Stack Overflow用户

发布于 2015-07-15 14:42:50

好的,因此,事实证明,不能包含使用Urlfetch的GET请求的有效负载。相反,必须使用'?‘将参数包含在url中。语法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
url = 'https://api.particle.io/v1/devices'
url = url + '?access_token=' + {ACCESS_TOKEN}
res = urlfetch.fetch(
    url=url,
    method=urlfetch.GET,
    follow_redirects=False 
)

这对我有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31441350

复制
相关文章
如何通过API接口获取EasyDSS单条/多条直播流信息?
TSINGSEE青犀视频开发的视频平台都提供了众多的二次开发接口,用户可以根据自己需求调用,调用参考对应平台的接口文档即可。比如EasyDSS的接口调用文档如下:http://demo.easydss.com:10086/apidoc/。鉴于很多用户的需求,我们本文跟大家介绍下如何通过调用接口获取EasyDSS的直播流信息。
TSINGSEE青犀视频
2021/11/05
1.1K0
【接口调用】EasyCVR获取直播流接口调用过程
EasyCVR作为一款功能完善的视频结构化智能分析平台,支持多种协议的视频流的输出,同时也能够支持语音对讲,只要前端设备带语音功能,用户即可通过EasyCVR来进行隔空喊话。同时EasyCVR开放了很多接口供大家调用,本文我们就分享一下EasyCVR获取直播流接口的调用过程。
TSINGSEE青犀视频
2021/07/21
1.7K0
【接口调用】EasyCVR如何通过接口添加RTMP推流的直播过程?
大家知道EasyCVR是TSINGSEE青犀视频开发的平台中支持协议最多的一款协议融合平台,EasyCVR能够兼容海康、大华的私有SDK,同时也具备GB28181、Ehome协议的级联、语音对讲等特点,同时也具备丰富的二次开发接口供大家调用和开发。本文分享一下EasyCVR如何通过接口去添加rtmp推流的直播过程。
TSINGSEE青犀视频
2021/07/21
9040
Twitch的直播流
本篇是来自Video @Scale 2019的演讲,演讲者是来自Twitch的首席软件工程师 Yueshi Shen,演讲主题是:“Twitch的直播流”。
用户1324186
2020/03/19
1.6K0
推流直播如何通过EasyDSS推流平台将内网EasyGBS视频流推到公网直播间进行直播?
在实际的视频直播推流项目中,我们经常会遇到一些现场网络比较特殊的情况,比如内网和外网不相通的情况。这些客户由于网络限制,使用TSINGSEE青犀视频平台EasyGBS时,无法在服务器上设置公网地址,所以无法在公网上访问EasyGBS的流,但是仍有部分客户在条件允许的情况下,希望在自己的公网直播间里面能看到EasyGBS的直播画面。
TSINGSEE青犀视频
2021/02/01
3.7K0
web 直播流的解析
本文作者:ivweb villainthr Web 进制操作是一个比较底层的话题,因为平常做业务的时候根本用不到太多,或者说,根本用不到。 老铁,没毛病 那什么情况会用到呢? canvas webso
腾讯IVWEB团队
2017/07/14
3.9K2
web 直播流的解析
EasyDSS如何通过接口新增虚拟直播并推送到直播间?
流平台EasyDSS里有个直播的类型叫虚拟直播,虚拟直播的直播源有两种类型,一个是点播资源,一个是在线资源。点播资源可以从EasyDSS里的点播服务里面去配置,在线资源必须是直播的源地址。
TSINGSEE青犀视频
2021/12/03
6810
【直播】nginx搭建rtmp流直播环境
windows下很容易搭建,只需要下载nginx-1.7.11.3-Gryphon就可以了,解压之后运行run_ngnix.bat 能力强的同学自己编译最新版本nginx并使用吧
一朵灼灼华
2022/08/05
3.8K0
【直播】nginx搭建rtmp流直播环境
互联网视频直播&点播平台RTMP推流组件EasyRTMP如何获取当前推流状态 ?
EasyRTMP作为TISNGSEE青犀视频开发的视频推流组件,其功能稳定可靠,经过多年项目实战,多种复杂环境运行,长期在线检验,已经能够在手机直播、桌面直播、摄像机直播、课堂直播等方面实现优秀的推流功能。
TSINGSEE青犀视频
2021/04/22
1.4K0
直播流最佳实践
本文是来自Live Streaming Summit West 2019的演讲,讲者是来自videoRx的CTO,Robert Reinhardt。本次演讲面面俱到地讲述了搭建直播流的最佳实践。
用户1324186
2020/02/13
1.2K0
Android开发:获取手机当前连接的WiFi名称
点击进入WIFI_SERVICE,看到的是系统的WiFi名称是加的有双引号的,具体如下所示:
三掌柜
2021/12/27
4.4K0
“直播源码”的可用性,直播源码总体上就是“推流+拉流”
1.运营内容。现在运营直播平台需要考虑垂直细分领域的问题,不然平台内容同质化严重,即使平台上线后也会很快湮没的。
布谷鸟小刘
2021/08/19
2.1K0
Web网页直播点播RTMP推流平台EasyDSS推流直播失败的原因分析
Web网页直播点播RTMP推流平台EasyDSS互联网视频云服务提供一站式的转码、点播、直播、录像、检索、时移回放服务,极大地简化了开发和集成的工作,配合OBS、EasyRTMP等直播推流工具以及EasyPlayer等网络播放器,可打造一站式专业的视频直播/录播解决方案,满足用户在各行业场景中的流媒体业务需求。
TSINGSEE青犀视频
2021/04/28
3.5K0
如何通过带货直播源码开发出成熟的直播系统
随着直播行业的不断发展,直播平台市场已基本稳定,如今,直播已经成为了人们生活中必不可少的产品了,不仅仅通过实时直播带来的娱乐和欢乐,还有更重要的是它带来的实时信息分享,由此直播也带来了非常大的商业价值和潜力。现在的带货直播源码在垂直细分领域的发展越来越迅速,尤其是带货直播系统的受欢迎程度不言而喻,那么如何通过带货直播源码开发出成熟的直播系统呢?
云豹短视频嘉兴
2021/05/24
9270
如何通过带货直播源码开发出成熟的直播系统
我的直播回放来啦!
“ 阅读本文大概需要 1 分钟。 ” 大家好,我是崔庆才。 昨天的时候,我参与了微软 AI Talent Program 的一场直播,主题是「怎样在工作中实现能力提升 」,虽说主题名字和工作相关,但其实内容不限于工作啦,我在直播中讲了我的个人经历、副业经历,还讲了我的一些时间管理经验、学习经验、工作经验等内容。 非常感谢昨天参与观看我直播的朋友们的支持! 当然还有很多朋友因为时间关系没有看到直播,不过没关系,我把回放上传到 B 站啦,大家可以直接观看。 同时打个小小广告:最近我也在尝试转视频博主了,后面
崔庆才
2022/09/26
3490
我的直播回放来啦!
直播系统开发,直播源码开发推流所涉及的流程
一般在推流端所涉及的流程包括音视频数据的采集、编码、封装、协议封包等,主要就是将直播的音视频数据推送至流媒体服务器。
布谷鸟小刘
2021/07/13
1.3K0
直播系统开发,直播源码开发推流所涉及的流程
【腾讯云】TRTC直播推流+页面渲染推流云直播实践
该文档只作为功能实践,让读者对trtc直播,页面渲染,以及云直播有个大致直观的了解,不作为生产环境使用。
williamji
2022/08/31
12.2K0
用WebRTC在Firefox上实现YouTube直播
原文 http://www.meetecho.com/blog/firefox-webrtc-youtube-kinda/
LiveVideoStack
2021/09/01
2K0
低延迟直播流技术
本文来自Bitmovin NAB 2020 Tech Talk,演讲者是来自Bitmovin的软件工程师Jameson Steiner,演讲的主题是低延迟直播流技术。
用户1324186
2020/05/20
1.3K0
Electron播放rtmp直播流
如果直接前端放rtmp直播流, 则需要有flash, 而Chrome已经不再支持flash了, 所以得借助flash插件
治电小白菜
2022/09/21
5.1K0
Electron播放rtmp直播流

相似问题

使用频道ID嵌入YouTube直播流

17

如何从频道获取当前活跃的直播流?

114

从YouTube频道获取直播节目

12

获取当前活动直播流URL的接口

22

如何获取非我自己频道的当前直播流?

115
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文