如何在没有用户代理标头的情况下发送请求

3
我正在进行一个视频广播项目,需要提供下载选项。我使用了Justin.tv API,当我点击该URL时,他们会发送一个用于下载视频文件的URL,但我却遭遇到了403禁止访问错误。我已经与相关人员讨论这个问题,他回复说:
“浏览器将收到403错误,您需要通过代理服务器(通过删除User-Agent标头)或告诉用户使用下载管理器来传输文件。”
显然后者不是一个好主意。现在我卡在了如何在没有用户代理标头的情况下发送请求上(使用PHP)。我已经搜索过了,但没有找到任何有用的信息。

你是如何首次下载的? - Ignacio Vazquez-Abrams
我之前没有下载任何东西。一开始我只是使用他们的API文档广播视频。之后,他们会提供该特定视频的链接。 - Code Prank
我猜这可能是一个跨域问题...你可能需要在PHP中使用代理。 - Jay Mayu
2个回答

5

对这个旧的帖子进行了翻新,我不确定 @ayman-safadi 的评论中的信息在发布时是否准确。那是来自其他位置的一句话引用。但是,现在要删除用户代理标头,您可以执行以下操作:

-H "User-Agent:"


2
也许你可以将“下载”链接指向一个内部页面,该页面将对实际的Justin.tv链接进行cURL调用。

根据其中一条评论

FYI...除非您明确设置用户代理,否则不会发送任何用户代理请求,因为没有像其他选项一样的默认值。

还有更多评论可能会有所帮助。


不方便,但是互联网上充斥着cURL教程。特别是这一个应该非常有帮助: http://phpsense.com/2007/php-curl-functions/ - Ayman Safadi
是的,这个链接非常有帮助,我实现了我的目标... 非常感谢 :) - Code Prank

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接