Questions tagged «http»

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

30
Android 8:不允许使用明文HTTP流量
我收到来自使用Android 8的用户的报告,称我的应用程序(使用后端供稿)未显示内容。经过调查,我发现以下异常发生在Android 8上: 08-29 12:03:11.246 11285-11285/ E/: [12:03:11.245, main]: Exception: IOException java.io.IOException: Cleartext HTTP traffic to * not permitted at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:115) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:458) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127) at com.deiw.android.generic.tasks.AbstractHttpAsyncTask.doConnection(AbstractHttpAsyncTask.java:207) at com.deiw.android.generic.tasks.AbstractHttpAsyncTask.extendedDoInBackground(AbstractHttpAsyncTask.java:102) at com.deiw.android.generic.tasks.AbstractAsyncTask.doInBackground(AbstractAsyncTask.java:88) at android.os.AsyncTask$2.call(AsyncTask.java:333) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) (我删除了程序包名称,URL和其他可能的标识符) 在Android 7及更低版本上,一切正常,我未android:usesCleartextTraffic在Manifest中进行设置(并且将其设置为true无济于事,无论如何这都是默认值),我也不使用网络安全信息。如果我致电NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted(),它将使用相同的apk文件返回旧版本的falseAndroid 8 true。我试图在Google有关Android O的信息中找到对此的提及,但没有成功。
1035 android  http  https 




24
如何使用Python通过HTTP下载文件?
我有一个小的实用程序,可以用来按计划从网站上下载MP3文件,然后构建/更新已添加到iTunes的播客XML文件。 创建/更新XML文件的文本处理是用Python编写的。但是,我在Windows内使用wget.bat文件中下载实际的MP3文件。我希望使用Python编写整个实用程序。 我努力寻找一种方法来实际使用Python下载文件,因此为什么我诉诸于使用 wget。 那么,如何使用Python下载文件?
874 python  http  urllib 

14
资源已经存在时POST的HTTP响应代码
我正在构建一个允许客户端存储对象的服务器。这些对象在客户端完全构建,并带有在对象整个生命周期中永久存在的对象ID。 我已经定义了API,以便客户端可以使用PUT创建或修改对象: PUT /objects/{id} HTTP/1.1 ... {json representation of the object} {id}是对象ID,因此它是Request-URI的一部分。 现在,我也在考虑允许客户端使用POST创建对象: POST /objects/ HTTP/1.1 ... {json representation of the object, including ID} 由于POST的意思是“追加”操作,因此我不确定在对象已经存在的情况下该怎么做。我应该将请求视为修改请求还是应该返回一些错误代码(哪个)?

8
验证失败或重复无效的REST HTTP状态代码
我正在使用基于REST的API构建应用程序,并且到了我为每个请求指定状态代码的地步。 对于未通过验证的请求,或者请求尝试在数据库中添加重复项的状态,我应该发送什么状态代码? 我已经浏览了http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html,但是似乎都不对。 发送状态代码时是否有惯例?


17
如何实施基本的“长轮询”?
我可以找到许多有关Long Polling工作原理的信息(例如this和this),但是没有简单的示例说明如何在代码中实现这一点。 我所能找到的就是cometd,它依赖于Dojo JS框架和一个相当复杂的服务器系统。 基本上,我将如何使用Apache来处理请求,以及如何编写一个简单的脚本(例如PHP)来“长时间轮询”服务器以获取新消息? 该示例不必是可伸缩的,安全的或完整的,只需要工作即可!
776 php  http  comet 

13
如何设置HttpClient请求的Content-Type标头?
我正在尝试根据我要调用的API 设置对象的Content-Type标头HttpClient。 我尝试设置Content-Type如下: using (var httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri("http://example.com/"); httpClient.DefaultRequestHeaders.Add("Accept", "application/json"); httpClient.DefaultRequestHeaders.Add("Content-Type", "application/json"); // ... } 它允许我添加Accept标题,但是当我尝试添加Content-Type它时,抛出以下异常: 标头名称滥用。确保请求标HttpRequestMessage头与一起使用 ,响应标头与一起使用HttpResponseMessage,内容标头与HttpContent对象一起使用。 如何Content-Type在HttpClient请求中设置标题?
738 c#  asp.net  api  http  rest 


8
HTTP标头区分大小写吗?
在博客文章中,我使用以下PHP设置响应的内容类型: header('content-type: application/json; charset=utf-8'); 我刚刚对该帖子发表了评论,说content-type需要大写Content-type。它是否正确?似乎对所有小写字母都有效,并且我假设HTTP标头不区分大小写。还是只是因为浏览器不错而起作用?
712 http  http-headers 

10
查询字符串参数的Java URL编码
说我有一个网址 http://example.com/query?q= 并且我有一个用户输入的查询,例如: 随机词£500银行$ 我希望结果是正确编码的URL: http://example.com/query?q=random%20word%20%A3500%20bank%20%24 实现此目标的最佳方法是什么?我尝试URLEncoder创建URI / URL对象,但是没有一个是正确的。
710 java  http  url  encoding  urlencode 

9
在REST API实际场景中使用PUT与PATCH方法
首先,一些定义: PUT在9.6节RFC 2616中定义: PUT方法请求将封闭的实体存储在提供的Request-URI下。如果Request-URI引用了已经存在的资源,则应将封闭的实体视为原始服务器上的资源的修改版本。如果Request-URI没有指向现有资源,并且请求用户代理能够将该URI定义为新资源,则原始服务器可以使用该URI创建资源。 PATCH在RFC 5789中定义: PATCH方法请求将在请求实体中描述的一组更改应用于由Request-URI标识的资源。 同样根据RFC 2616第9.1.2节, PUT是幂等的,而PATCH不是。 现在让我们看一个真实的例子。当我/users对数据执行POST {username: 'skwee357', email: 'skwee357@domain.com'}并服务器能够创建资源时,它将以201和资源位置(假设/users/1)响应,并且对GET的下一次调用/users/1将返回{id: 1, username: 'skwee357', email: 'skwee357@domain.com'}。 现在,让我们说我想修改我的电子邮件。电子邮件修改被视为“一组更改”,因此我应该/users/1使用“ 补丁文档 ”来进行修补。在我的情况下,它将是json文档:{email: 'skwee357@newdomain.com'}。然后,服务器返回200(假设允许)。这使我想到第一个问题: 补丁不是幂等的。它在RFC 2616和RFC 5789中是这样说的。但是,如果我发出相同的PATCH请求(使用我的新电子邮件),我将获得相同的资源状态(将我的电子邮件修改为请求的值)。为什么PATCH不那么幂等? PATCH是一个相对较新的动词(2010年3月引入RFC),用于解决“修补”或修改一组字段的问题。在引入PATCH之前,每个人都使用PUT来更新资源。但是在引入PATCH之后,我对PUT的用途感到困惑。这使我想到了第二个(也是主要的)问题: PUT和PATCH之间的真正区别是什么?我在某处读到了PUT可能用于替换特定资源下的整个实体,因此应该发送完整的实体(而不是像PATCH那样发送一组属性)。这种情况的实际实际用途是什么?您何时要替换/覆盖特定资源URI上的实体,为什么不考虑将此类操作更新/修补该实体?我在PUT上看到的唯一实际用例是在集合上发布PUT,即/users替换整个集合。引入PATCH之后,在特定实体上发布PUT毫无意义。我错了吗?
680 json  rest  http  put  http-method 

13
如何使用PHP发送POST请求?
实际上,我想阅读搜索查询之后的内容,完成之后。问题是URL仅接受POST方法,并且对GET方法不采取任何操作... 我必须借助domdocument或阅读所有内容file_get_contents()。有什么方法可以让我使用POSTmethod 发送参数,然后通过读取内容PHP?
656 php  http  post  request 

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.