http请求

理解并使用.NET 4.5中的HttpClient

旧巷老猫 提交于 2020-03-20 23:49:25
HttpClient介绍 HttpClient是.NET4.5引入的一个HTTP客户端库,其命名空间为System.Net.Http。.NET 4.5之前我们可能 使用 WebClient和HttpWebRequest来达到相同目的。但是有几点值得关注: 可以 使用 单个HttpClient实例发任意数目的请求 一个HttpClient实例不会跟某个HTTP服务器或主机绑定,也就是说我们可以用一个实例同时给www.a.com和www.b.com发请求 可以继承HttpClient达到定制目的 HttpClient利用了最新的面向任务模式,使得处理异步请求非常容易 异步HTTP GET 下面是一个 使用 HttpClient进行HTTP GET请求数据的例子: class HttpClientDemo { private const string Uri = "http://api.worldbank.org/countries?format=json"; static void Main(string[] args) { HttpClient httpClient = new HttpClient(); // 创建一个异步GET请求,当请求返回时继续处理 httpClient.GetAsync(Uri).ContinueWith( (requestTask) => {

如何截取Http请求

[亡魂溺海] 提交于 2020-03-20 23:44:42
1:前言 本篇文章比较短,主要是因为我的一个随想产生的一段代码。 这段代码的功能你可以叫做是简单的Http服务器也可以叫做Http请求截取。它实现的功能就是截取Http请求然后自己做处理。 2:代码 代码 public class HttpServer : IDisposable { private HttpListener listener; public void Start() { listener = new HttpListener(); listener.Prefixes.Add( " http://localhost/ " ); listener.AuthenticationSchemes = AuthenticationSchemes.IntegratedWindowsAuthentication | AuthenticationSchemes.Anonymous; listener.Start(); listener.BeginGetContext(GetContext, null ); } private void GetContext(IAsyncResult ar) { HttpListenerRequest Request; HttpListenerResponse Response; try { HttpListenerContext ctx =

.NET处理HTTP请求

匆匆过客 提交于 2020-03-20 22:55:47
第一种:使用HttpWebRequest string result = ""; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(httpUrl); request.Method = "POST"; request.ContentType = "application/json"; string data = "{\n\"header\": {\n\"token\": \"30xxx6aaxxx93ac8cxx8668xx39xxxx\",\n\"username\": \"jdads\",\n\"password\": \"liuqiangdong2010\",\n\"action\": \"\"\n},\n\"body\": {}\n}"; data = jsonData; byte[] byteData = Encoding.UTF8.GetBytes(data.ToString()); request.ContentLength = byteData.Length; using (Stream postStream = request.GetRequestStream()) { postStream.Write(byteData, 0, byteData.Length); } try { using

Java HTTP通信--Get与POST请求

爷,独闯天下 提交于 2020-03-20 22:00:04
一、JDK自带的http通信机制--java.net.URL package com.wjy; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; public class TestURL { public static void main(String[] args) { new GetRun().start();//get请求 new PostRun().start();//post请求 } } class GetRun extends Thread{ public void run() { try { //doctype=xml/json/jsonp

HTTP请求大全

前提是你 提交于 2020-03-20 08:35:30
1xx - 信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 100 - 继续 101 - 切换协议 2xx - 成功 这类状态代码表明服务器成功地接受了客户端请求。 200 - 确定。客户端请求已成功 201 - 已创建 202 - 已接受 203 - 非权威性信息 204 - 无内容 205 - 重置内容 206 - 部分内容 3xx - 重定向 客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 302 - 对象已移动。 304 - 未修改。 307 - 临时重定向。 4xx - 客户端 错误 发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。 400 - 错误的请求 401 - 访问被拒绝 · 401.1 - 登录失败。 · 401.2 - 服务器配置导致登录失败。 · 401.3 - 由于 ACL 对资源的限制而未获得授权。 · 401.4 - 筛选器授权失败。 · 401.5 - ISAPI/CGI 应用程序授权失败。 · 401.7 – 访问被 Web 服务器上的 URL 授权策略拒绝。这个错误代码为 IIS 6.0 所专用。 403 - 禁止访问 · 403.1 - 执行访问被禁止。 · 403.2 -

Nginx服务实践

大憨熊 提交于 2020-03-20 07:36:35
[TOC] 本文档版权归属:陈雷雷,仅限学习交流 QQ:370460470 blog:www.chenleilei.net Nginx服务实践 简述Nginx(nginx.org) Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 Nginx 适用于各类网站,处理能力和可扩展性都优于apache,目前为止,主流网站几乎都采用的nginx作为核心的服务 2015年排名: 2017年排名: 2019年排名 通过两张图我们可以清晰发现,apache份额逐步下降,而nginx则稳步上升,由此可见

XMLHTTPRequest状态status完整列表

馋奶兔 提交于 2020-03-20 04:32:46
1xx - 信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 ·0 - 本地响应成功。  · 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)  · 101 - Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) 2xx - 成功 这类状态代码表明服务器成功地接受了客户端请求。  · 200 - OK 一切正常,对GET和POST请求的应答文档跟在后面。  · 201 - Created 服务器已经创建了文档,Location头给出了它的URL。  · 202 - Accepted 已经接受请求,但处理尚未完成。  · 203 - Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝,非权威性信息(HTTP 1.1新)。  · 204 - No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。  · 205 - Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。  · 206 -

http面试题

て烟熏妆下的殇ゞ 提交于 2020-03-18 17:31:52
一. 基础概念 URI - 包括URL和URN 请求和响应报文 请求报文: 响应报文: 二. Http方法 客户端发送的请求报文为第一行,包含了方法字段。 GET - 获取资源,当前网络请求中,绝大部分是GET方法 HEAD - 获取报文首部,主要用于确认URL的有效性和资源更新的日期时间等 POST - 传输实体主体,POST主要用来传输数据,GET主要用来获得资源 三. HTTP状态码 1XX 信息: 100 Continue 表示到目前为止都很正常,客户端可以继续发送请求或忽略这个响应。 2XX 成功:200 OK 204 No Content: 请求已经成功处理,但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用。 206 Partial Content: 表示客户端进行了范围请求,响应报文包含由Content-Range指定范围的实体内容。 3XX 重定向:301 Moved permennantly 永久性重定向 302 Found 临时性重定向 304 Not modified 如果请求报文首部欧包含一些条件,例如:If-Match, If-Modified-Since, 如果不满足条件,则服务器会返回304状态码。 具体解释:在客户端向服务端发送http请求时,若返回状态码为304 Not Modifiied

http 协议 相关知识 --请求

一笑奈何 提交于 2020-03-18 17:19:27
3 月,跳不动了?>>> 一:什么是http协议: http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 二:查看http协议的工具   1)使用火狐的firebug插件(右键->firebug->网络)   2)使用谷歌的“审查元素”   3)使用系统自带的telnet工具(远程访问工具)     a)telnet localhost 8080 访问tomcat服务器     b)ctrl+] 回车 可以看到回显     c)输入请求内容      GET /day09/hello HTTP/1.1 Host: localhost: 8080     d)回车,即可查看到服务器响应信息。 三:http协议内容 请求(浏览器- 》服务器) GET /day09/hello HTTP/1.1 Host: localhost: 8080 User -Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 Accept: text /html,application/xhtml+xml,application/xml;q=0.9,* /* ;q=0.8 Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3 Accept

Ionic HTTP 请求

一个人想着一个人 提交于 2020-03-18 12:23:01
Ionic HTTP 请求 Ionic 的 http 请求真的事让我有点小小的蒙蔽,因为请求需要带有token验证,但是自己有是一个小白,第一次接触Ionic,根本不知道该怎样去实现,尝试着写,好不容易有点成效,记录一下。 使用工具类 首先在app同级下创建一个文件夹providers,用来存放http请求工具类。 在 providers 文件夹下创建一个 http 文件夹,http文件夹下创建一个 http.ts 文件。 工具类内容如下: import { HttpClient, HttpResponse } from '@angular/common/http'; import { AppConfig } from './../../app/app.config'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; /* Generated class for the HttpProvider provider. See https://angular.io/guide/dependency-injection for more info on providers and Angular DI. */ @Injectable() export class