Tag: http

Rails POST,PUT,GET

在生成一个脚手架后,Rails使我能够POST到items.xml ,这将创build一个新的item 。 一个GET的items.xml将简单列出所有。 Rails根据我正在执行的操作的types来指定控制器中的哪个方法(分别为create或index )将被调用? 更具体地说,POST调用methodA,但获取到相同的URL调用methodB。 这在哪里指定? Rails在哪里决定调用控制器的index方法?

在Objective-C中简单的http后例子?

我有一个PHP网页,需要login(用户名和密码)。 我有用户input的信息到应用程序就好了..但我需要一个例子如何做一个网站的POST请求。 在支持网站上的苹果示例是相当复杂的显示图片上传..我应该更简单..我只是想发布2行文字..任何人有任何好的例子? 亚历克斯

对于一般不成功的请求(不是错误),什么是适当的HTTP状态码响应?

我正在创build一个RESTful API来处理一些用户交互,包括使用存储的信用卡下订单。 在订单成功的情况下,我将返回200 OK,如果订单请求格式错误或无效,我将返回400错误请求。 但是,如果在订单的实际处理过程中出现问题,我该怎么办? 客户端POSTS命令为服务器用户资源。 如果用户不存在,则返回404 Not Found。 订单格式和信息经过validation。 如果无效,则返回400错误请求。 订单已处理。 如果订单成功,则会为订单返回201 Created。 如果遇到意外错误,则返回500服务器错误。 最后一步是问题 – 如果订单因其他原因没有完成,我将返回什么? 可能的情况可能包括: 产品售罄 已达到用户最高订单限制 信用卡交易失败(资金不足等) 这似乎并不适合400或500.如果没有更好的代码,我可以看到它是400,根据业务规则,请求无效。 这似乎并不准确。 编辑:也发现了同样的话题这个现有的讨论 。 所有的答案似乎都指出了使用状态代码来处理这种违规行为,在使用400,409或422扩展之间进行了一些讨论。

Python:urllib / urllib2 / httplib混淆

我试图通过在Python中编写login序列来testingWeb应用程序的function,但是我遇到了一些麻烦。 以下是我需要做的事情: 用一些参数和标题做一个POST。 遵循redirect 检索HTML正文。 现在,我相对比较新的python,但我迄今为止testing的两件事情没有奏效。 首先,我使用了httplib和putrequest()(在URL中传递参数)和putheader()。 这似乎没有遵循redirect。 然后我尝试urllib和urllib2,传递标题和参数作为字典。 这似乎返回login页面,而不是我正在尝试login的页面,我想这是因为缺lesscookie或其他东西。 我错过了一些简单的东西吗 谢谢。

将API密钥放在标题或url中

我正在为公司的数据devise一个公共API。 我们希望应用程序开发人员注册一个API密钥,所以我们可以监视使用和过度使用。 由于API是REST,我最初的想法是把这个键放在一个自定义的头文件中。 我就是这样看到谷歌,亚马逊和雅虎这样做的。 另一方面,我的老板认为,如果密钥简单地成为URL的一部分,则API更易于使用,例如“http://api.domain.tld/longapikey1234/resource”。 我猜这有些事情要说,但它有点违反了URL的原则,只是简单地说明你想要的东西,而不是如何或为什么你想要它。 你会发现把密钥放在URL中是合乎逻辑的吗? 或者,如果将一个简单的JavaScript前端写入某些数据,您是不是必须手动设置HTTP标头?

我可以在URL中使用符号(@)吗?

使用@符号作为用户的一部分是否安全? 例如,可能的URL是http://example.com/@dave 。 现在的想法是,用户通常被称为“@user”,那么为什么不把用户页面设为“@username”呢?

没有“http | https”的url

我刚刚从一位同事那里了解到,在链接中省略URL的“http | https”部分会使该URL使用所使用页面的任何scheme。 举例来说,如果我的网页在http://www.example.com上被访问,并且有链接(注意前面的“//”): <a href="//www.google.com">Google</a> 该链接将转到http://www.google.com 。 但是,如果我使用相同的链接访问https://www.example.com的网页,则会转到https://www.google.com 我想在网上寻找更多关于这方面的信息,但我很难想出一个好的search词组。 如果我search“没有HTTP的URL”,返回的页面是关于这种forms的URL:“www.example.com”,这不是我正在寻找的。 你会打电话给一个无计划的URL吗? 无协议的URL? 这是否适用于所有浏览器? 我在FF和IE 8中testing了它,并且在两者中都起作用。 这是标准的一部分,还是应该testing更多的浏览器?

在HTTP标头或响应正文中留下错误消息?

我有一个暴露给iPhone和Android客户端的REST服务。 目前我遵循的HTTP代码200,400,401,403,404,409,500等 我的问题是在哪里推荐的地方把错误的原因/描述/原因? 对于REST API来说,在头文件中总是有自定义的Reason,这样更有意义吗? < HTTP/1.1 400 Bad Request – Missing Required Parameters. < Date: Thu, 20 Dec 2012 01:09:06 GMT < Server: Apache/2.2.22 (Ubuntu) < Connection: close < Transfer-Encoding: chunked 或者通过JSON在Response Body中使用它会更好吗? < HTTP/1.1 400 Bad Request < Date: Thu, 20 Dec 2012 01:09:06 GMT < Server: Apache/2.2.22 (Ubuntu) < Connection: close < […]

HttpWebRequest&本机GZip压缩

当请求使用Gzip压缩的页面时,我收到了很多以下错误: System.IO.InvalidDataException:GZip页脚中的CRC与从解压缩数据计算出的CRC不匹配 我正在使用本地GZipStream解压缩,并正在寻找解决这个问题。 有鉴于此,是否有解决这个或另一个GZip库(免费?),这将正确处理这个问题的工作? 我正在validationwebResponse ContentEncoding是GZIP 5/11更新一个简化的snippit //Caller public void SOSampleGet(string url) { // Initialize the WebRequest. webRequest = (HttpWebRequest)WebRequest.Create(url); webRequest.Method = WebRequestMethods.Http.Get; webRequest.KeepAlive = true; webRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; webRequest.Headers.Add("Accept-Encoding", "gzip,deflate"); webRequest.Referer = WebUtil.GetDomain(url); HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); using (Stream stream = GetStreamForResponse(webResponse, READTIMEOUT_CONST)) { //use stream } } //Method private static Stream GetStreamForResponse(HttpWebResponse webResponse, […]

在Python中捕获特定的HTTP错误

我想赶上一个具体的http错误,而不是整个家庭的任何一个..我正在试图做的是 – import urllib2 try: urllib2.urlopen("some url") except urllib2.HTTPError: <whatever> 但我最终是捕捉任何types的http错误,但我只想捕捉指定的网页不存在! 可能这是HTTP错误404 ..但我不知道如何指定只捕获错误404,并让系统运行其他事件的默认处理程序。