Questions tagged «http»

超文本传输​​协议(HTTP)是一种应用程序级网络协议,用于在万维网上传输内容。

3
RESTful登录失败:返回401或自定义响应
这是一个概念性的问题。 我有一个客户端(移动)应用程序,需要支持针对RESTful Web服务的登录操作。因为Web服务是RESTful的,所以这意味着客户端接受了用户的用户名/密码,并通过该服务验证了该用户名/密码,然后只是记得随所有后续请求一起发送该用户名/密码。 此Web服务中的所有其他响应均以JSON格式提供。 问题是,当我查询Web服务只是为了确定给定的用户名/密码是否有效时,Web服务是否应始终以JSON数据响应以告知其成功或不成功,还是应返回具有良好凭据和HTTP的HTTP 200 401错误的凭据。 我问的原因是,即使您只是在询问凭证是否有效,其他一些RESTful服务也使用401来提供不良凭证。但是,据我对401响应的理解,它们代表一种资源,如果没有有效的凭据,您不应访问这些资源。但是任何人都应该可以访问登录资源,因为登录资源的全部目的是告诉您您的凭据是否有效。 换句话说,在我看来,这样的请求: myservice.com/this/is/a/user/action 如果提供了错误的凭据,则应返回401。但是这样的请求: myservice.com/are/these/credentials/valid 永远不要返回401,因为该特定的URL(请求)是使用有效凭据或不使用有效凭据进行授权的。 我想听一听,对此有一些合理的看法。处理此问题的标准方法是什么?逻辑上适当的处理方法是什么?


14
HTTP是否使用UDP?
这可能是一个愚蠢的问题: HTTP是否曾经使用过用户数据报协议? 例如: 如果使用HTTP流式传输MP3或视频,它内部是否使用UDP进行传输?
103 http  tcp  udp 




3
urllib2.HTTPError:HTTP错误403:禁止
我正在尝试使用python自动下载历史股票数据。我尝试打开的URL用CSV文件响应,但是我无法使用urllib2打开。我曾尝试按照前面几个问题中的说明更改用户代理,甚至尝试接受响应cookie,但没有运气。你能帮忙吗? 注意:相同的方法适用于yahoo Finance。 码: import urllib2,cookielib site= "http://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/getHistoricalData.jsp?symbol=JPASSOCIAT&fromDate=1-JAN-2012&toDate=1-AUG-2012&datePeriod=unselected&hiddDwnld=true" hdr = {'User-Agent':'Mozilla/5.0'} req = urllib2.Request(site,headers=hdr) page = urllib2.urlopen(req) 错误 http_error_default中的文件“ C:\ Python27 \ lib \ urllib2.py”,第527行,引发HTTPError(req.get_full_url(),代码,msg,hdrs,fp)urllib2.HTTPError:HTTP错误403:禁止 谢谢你的协助
102 python  http  urllib 

6
传输一定数量的数据后,Chrome挂起-等待可用的套接字
我有一个浏览器游戏,最近我开始向游戏添加音频。 Chrome不会加载整个页面,并且会卡在其中"91 requests | 8.1 MB transferred",并且不会加载任何其他内容;甚至在其他所有标签中都破坏了该网站Waiting for available socket。 5分钟后(准确),数据被加载。 在任何其他浏览器上都不会发生这种情况。 删除一个MP3文件(最新添加的一个)可以解决此问题,那么这是否可能是数据限制问题?

12
发送http响应后继续处理php
我的脚本由服务器调用。从服务器我将收到ID_OF_MESSAGE和TEXT_OF_MESSAGE。 在我的脚本中,我将处理传入的文本并使用params:ANSWER_TO_ID和生成响应RESPONSE_MESSAGE。 问题是我正在发送对incoming的响应"ID_OF_MESSAGE",但是向我发送消息的服务器将在收到http响应200之后将他的消息设置为传递给我(这意味着我可以向他发送该ID的响应)。 解决方案之一是将消息保存到数据库中,并创建将在每分钟运行的cron,但是我需要立即生成响应消息。 有一些解决方案如何发送到服务器http响应200,然后继续执行php脚本? 非常感谢
101 php  http  response 


5
PHP CURL删除请求
我正在尝试使用PHP和cURL进行DELETE http请求。 我已经在很多地方阅读了如何做的内容,但是似乎对我没有任何帮助。 这是我的方法: public function curl_req($path,$json,$req) { $ch = curl_init($this->__url.$path); $data = json_encode($json); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $req); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($data))); $result = curl_exec($ch); $result = json_decode($result); return $result; } 然后,我继续使用我的函数: public function deleteUser($extid) { $path = "/rest/user/".$extid."/;token=".$this->__token; $result = $this->curl_req($path,"","DELETE"); …
100 php  http  curl  request 

8
Python 3 Web Scraping中的HTTP错误403
我试图通过抓取网站进行练习,但是我一直收到HTTP错误403(它认为我是机器人)吗? 这是我的代码: #import requests import urllib.request from bs4 import BeautifulSoup #from urllib import urlopen import re webpage = urllib.request.urlopen('http://www.cmegroup.com/trading/products/#sortField=oi&sortAsc=false&venues=3&page=1&cleared=1&group=1').read findrows = re.compile('<tr class="- banding(?:On|Off)>(.*?)</tr>') findlink = re.compile('<a href =">(.*)</a>') row_array = re.findall(findrows, webpage) links = re.finall(findlink, webpate) print(len(row_array)) iterator = [] 我得到的错误是: File "C:\Python33\lib\urllib\request.py", line 160, in urlopen return opener.open(url, …

14
HAProxy将HTTP重定向到https(ssl)
我正在使用HAProxy进行负载平衡,只希望我的网站支持https。因此,我想将端口80上的所有请求重定向到端口443。 我该怎么做? 编辑:我们想重定向到https上的相同URL,保留查询参数。因此,http://foo.com/bar将重定向到https://foo.com/bar
99 http  redirect  ssl  https  haproxy 

2
传输编码:gzip与内容编码:gzip
关于是否要做事,目前的状况是什么 Transfer-Encoding: gzip 或一个 Content-Encoding: gzip 当我要允许带宽有限的客户表示他们愿意接受压缩响应并且服务器最终决定是否压缩时。 后者就是例如Apache的mod_deflate和IIS所做的,如果让它负责压缩的话。根据要压缩的内容的大小,它将执行额外的操作Transfer-Encoding: chunked。 它还将包含一个Vary: Accept-Encoding,已经暗示了该问题。Content-Encoding似乎是实体的一部分,因此将Content-Encoding金额更改为实体的变化,即,不同的Accept-Encoding标头意味着例如缓存无法使用其在其他方面相同的实体的缓存版本。 我是否错过了一个明确的答案(并且没有在某些Apache新闻组的长线程中隐藏在消息中)? 我目前的印象是: 实际上,传输编码将是正确完成现有服务器和客户端功能的内容编码的正确方法 由于内容编码的语义含义,它带来了两个问题(服务器ETag透明压缩响应时,服务器应该如何处理?) 原因是“鸡蛋”:浏览器不支持它,因为服务器不支持,因为浏览器不支持 因此,我假设正确的方法是Transfer-Encoding: gzip(或者,如果我另外对主体进行分块,它将变成 Transfer-Encoding: gzip, chunked)。在这种情况下,没有理由触摸Vary或ETag任何其他标头,因为这是传输级的事情。 目前,我不太在乎的“逐跳”性质Transfer-Encoding,这是其他人首先关注的问题,因为代理可能会解压缩并转发给客户端。但是,如果原始请求具有正确的Accept-Encoding标头,则代理可能会按原样转发(压缩)它,对于我所知道的所有浏览器来说,都是给定的。 顺便说一句,这个问题至少存在十年了,请参阅例如 https://bugzilla.mozilla.org/show_bug.cgi?id=68517。 任何对此的澄清将不胜感激。无论是从符合标准的方面还是从实用性方面而言。例如,仅支持透明“ Content-Encoding”的HTTP客户端库可能会反对实用性。

22
如何在PHP中发出异步GET请求?
我希望对其他服务器上的另一个脚本进行简单的GET请求。我该怎么做呢? 在一种情况下,我只需要请求一个外部脚本,而无需任何输出。 make_request('http://www.externalsite.com/script1.php?variable=45'); //example usage 在第二种情况下,我需要获取文本输出。 $output = make_request('http://www.externalsite.com/script2.php?variable=45'); echo $output; //string output 老实说,我不想弄乱CURL,因为这实际上不是CURL的工作。我也不想使用http_get,因为我没有PECL扩展名。 fsockopen可以工作吗?如果是这样,该如何在不读取文件内容的情况下执行此操作?有没有其他办法? 谢谢大家 更新资料 我应该补充,在第一种情况下,我不想等待脚本返回任何内容。据我了解,file_get_contents()将等待页面完全加载等?
97 php  http  curl  asynchronous 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.