精华内容
下载资源
问答
  • http请求中,会用到DnsResolver,有两种方式,一种是用默认的,一种是自定义一个 ...此时,会从运行代码的机器的host文件以及一些其他的方式来解析http请求中的目标服务器(域名) 2. 自定义一个Dns

    http请求中,会用到DnsResolver,有两种方式,一种是用默认的,一种是自定义一个

    1. 采用默认DnsResolver

    代码创建方式如下

    DnsResolver dnsResolver = new SystemDefaultDnsResolver()
    此时,会从运行代码的机器的host文件以及一些其他的方式来解析http请求中的目标服务器(域名)

    2. 自定义一个DnsResolver

    代码创建方式如下

    private static DnsResolver getDnsResolver() {
            InMemoryDnsResolver dnsResolver = new InMemoryDnsResolver();
    
            try {
                dnsResolver.add("dev4.xx.xx.com", Inet4Address.getByName("10.134.1.1"));
                dnsResolver.add("beta154.zz.zz.com", Inet4Address.getByName("14.10.4.4"));
                dnsResolver.add("baike.baidu.com", Inet4Address.getByName("59.37.109.6"));
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return dnsResolver;
        }


    展开全文
  • 但我会要求你使用以下API ...JAXP和JAXBCastor- 下面的代码片段方法接受Web服务器的url和xmlQuery- 我使用了NameValuePair来发送XML请求- 请用Http客户端替换MySSLSocketFactory.getNewHttpClient();,我使用它需要...

    好吧,我有你想要的......但我会要求你使用以下API ...

    JAXP和JAXB

    Castor

    - 下面的代码片段方法接受Web服务器的url和xmlQuery

    - 我使用了NameValuePair来发送XML请求

    - 请用Http客户端替换MySSLSocketFactory.getNewHttpClient();,我使用它需要自定义证书才能访问此站点。

    以下是我的Project中的代码,它发送XML req并获取XML resp:

    public String postData(String url, String xmlQuery) {

    final String urlStr = url;

    final String xmlStr = xmlQuery;

    final StringBuilder sb = new StringBuilder();

    Thread t1 = new Thread(new Runnable() {

    public void run() {

    HttpClient httpclient = MySSLSocketFactory.getNewHttpClient();

    HttpPost httppost = new HttpPost(urlStr);

    try {

    List nameValuePairs = new ArrayList(

    1);

    nameValuePairs.add(new BasicNameValuePair("xml", xmlStr));

    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    HttpResponse response = httpclient.execute(httppost);

    Log.d("Vivek", response.toString());

    HttpEntity entity = response.getEntity();

    InputStream i = entity.getContent();

    Log.d("Vivek", i.toString());

    InputStreamReader isr = new InputStreamReader(i);

    BufferedReader br = new BufferedReader(isr);

    String s = null;

    while ((s = br.readLine()) != null) {

    Log.d("YumZing", s);

    sb.append(s);

    }

    Log.d("Check Now", sb + "");

    } catch (ClientProtocolException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    });

    t1.start();

    try {

    t1.join();

    } catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    System.out.println("Getting from Post Data Method " + sb.toString());

    return sb.toString();

    }

    展开全文
  • 发送请求是:GET / HTTP/1.1 请求请求方式 /myweb/1.html 请求的资源路径 http协议版本。请求消息头 . 属性名:属性值Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockw...

    自定义服务端,

    使用已有的客户端IE,了解一下客户端给服务端发了什么请求?

    发送的请求是:

    GET / HTTP/1.1  请求行  请求方式  /myweb/1.html  请求的资源路径   http协议版本。

    请求消息头 . 属性名:属性值

    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash,

    application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

    Accept: */*

    Accept-Language: zh-cn,zu;q=0.5

    Accept-Encoding: gzip, deflate

    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)

    Host: 192.168.1.100:9090

    //Host: www.huyouni.com:9090

    Connection: Keep-Alive

    //空行

    //请求体。

    //服务端发回应答消息。

    HTTP/1.1 200 OK   //应答行,http的协议版本   应答状态码   应答状态描述信息

    应答消息属性信息。 属性名:属性值

    Server: Apache-Coyote/1.1

    ETag: W/"199-1323480176984"

    Last-Modified: Sat, 10 Dec 2011 01:22:56 GMT

    Content-Type: text/html

    Content-Length: 199

    Date: Fri, 11 May 2012 07:51:39 GMT

    Connection: close

    //空行

    //应答体。

    这是我的网页

    欢迎光临

    这是一个tomcat服务器中的资源。是一个html网页。

    网络结构,

    1,C/S  client/server

    特点:

    该结构的软件,客户端和服务端都需要编写。

    可发成本较高,维护较为麻烦。

    好处:

    客户端在本地可以分担一部分运算。

    2,B/S  browser/server

    特点:

    该结构的软件,只开发服务器端,不开发客户端,因为客户端直接由浏览器取代。

    开发成本相对低,维护更为简单。

    缺点:所有运算都要在服务端完成。

    展开全文
  • 常见客户端与服务端  客户端:  浏览器:IE  服务端:  服务器:web服务器(Tomcat),存储服务器,... 自定义一个服务端,使用自己已有的客户端IE浏览器,了解一下客户端都发送了什么请求。   1 pac
    常见客户端与服务端
    

      客户端:

        浏览器:IE

      服务端:

        服务器:web服务器(Tomcat),存储服务器,数据库服务器。

    (注:会用到Tomact服务器,在webapps下有一个自己创建的目录myweb,下面有一个文件1.html)

    服务端原理

      自定义一个服务端,使用自己已有的客户端IE浏览器,了解一下客户端都发送了什么请求。

      

     1 package cn.ie_server;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStream;
     5 import java.io.PrintWriter;
     6 import java.net.InetSocketAddress;
     7 import java.net.ServerSocket;
     8 import java.net.Socket;
     9 
    10 import cn.InetAdress.demo.InetAddressDemo2;
    11 
    12 public class MyTomcat {
    13 
    14     public static void main(String[] args) throws IOException {
    15         //建立服务端的socket连接,监听9090端口
    16         ServerSocket ss=new ServerSocket(9090);
    17         //接收客户端发来的消息
    18         Socket s=ss.accept();
    19         
    20         System.out.println(s.getInetAddress().getHostAddress());
    21         
    22         //获取客户端发送过来的请求
    23         InputStream in=s.getInputStream();
    24         
    25         byte [] buf=new byte[1024];
    26         
    27         int len=in.read(buf);
    28     
    29         String text=new String(buf,0,len,"utf-8");
    30         
    31         System.out.println(text);    
    32         //向客户端发送一些数据
    33         PrintWriter out=new PrintWriter(s.getOutputStream(),true);
    34         out.println("<font color='red' size='7'>欢迎光临</font>");
    35         s.close();
    36         ss.close();
    37     }
    38 }

      发送过来的请求是:

      GET / HTTP/1.1 (请求行: 请求方式 请求资源路径/myweb/1.html http协议版本)
      (请求消息头,属性名:属性值 )
      Accept: text/html, application/xhtml+xml, image/jxr, */*
      Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3
      User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)   Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586
      (支持的压缩方式)
      Accept-Encoding: gzip, deflate
      Host: 127.0.0.1:9090
      Connection: Keep-Alive8

     

    注意:这此时开放端口后可能会连不上服务端出现以下情况

    此时可以试一下将ip换成127.0.0.1 这个回送地址,因为如果在校园会出现访问限制的情况

     

    客户端原理

      服务端给客户端的应答消息,模拟一个Tomcat服务端发送符合http协议的请求消息

     1 package cn.ie_server;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStream;
     5 import java.io.ObjectInputStream.GetField;
     6 import java.io.PrintWriter;
     7 import java.net.Socket;
     8 import java.net.UnknownHostException;
     9 
    10 public class MyBrowser {
    11 
    12     /**
    13      * @param args
    14      * @throws IOException 
    15      * @throws UnknownHostException 
    16      */
    17     public static void main(String[] args) throws UnknownHostException, IOException {
    18         Socket s=new Socket("192.168.1.127",8080);
    19         
    20         //模拟浏览器给tomcat服务端发送符合http协议的请求消息
    21         PrintWriter out=new PrintWriter(s.getOutputStream(),true);
    22         out.println("GET /docs/aio.html HTTP/1.1");
    23         out.println("Accept: */*");
    24         out.println("Host: 192.168.1.127:8080");
    25         out.println("Connection:close");
    26         out.println();
    27         out.println();
    28         
    29         InputStream in=s.getInputStream();
    30         byte[] buf=new byte[1024];
    31         int len=in.read(buf);
    32         
    33         String str=new String(buf,0,len);
    34         System.out.println(str);
    35         
    36         s.close();
    37         
    38     }
    39 
    40 }

      服务端返回的应答消息为:

    (应答行 应答状态码 应答状态行描述信息)
    HTTP/1.1 200 OK
    (应答消息属性 属性名:属性值 )
    Server: Apache-Coyote/1.1
    Accept-Ranges: bytes
    ETag: W/"24874-1465990848000"
    Last-Modified: Wed, 15 Jun 2016 11:40:48 GMT//最后修改时间
    Content-Type: text/html
    Content-Length: 24874
    Date: Mon, 04 Jul 2016 14:54:43 GMT
    Connection: close
    //空行
    //应答体

    <html>
    <head>
    <title>这是我的网页</title>
    </head>

    <body>

    <h1>欢迎光临</h1>

    <font size='5' color="red">这是一个Tomcat服务器中的资源。这是一个html网页。</font>

    </body>

    </html>

     

    注意:通常我们找不到网页,会出现404的应答状态码,而成功的话会返回200的应答状态码。

      大家可以看到服务端返回的消息中有“应答行 应答状态码 应答状态行描述信息”等等一系列信息,但为什么在浏览器中只有我们看到的普通网页呢,这是因为浏览器进行了解析,但是怎么解析呢?只是就用到了URL这个类。

     1 package cn.ie_server;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStream;
     5 import java.io.OutputStream;
     6 import java.net.MalformedURLException;
     7 import java.net.URL;
     8 import java.net.URLConnection;
     9 
    10 public class URLDemo {
    11 
    12     /**
    13      * @param args
    14      * @throws IOException 
    15      */
    16     public static void main(String[] args) throws IOException {
    17         String str_url="http://127.0.0.1:8080/myweb/1.html?name=zhangsan";
    18         
    19         URL url=new URL(str_url);
    20                 InputStream in=url.openStream();
    21                 byte[]buf=new byte[1024];
    22         int len =in.read(buf);
    23         String text=new String(buf ,0,len);
    24         System.out.println(text);
    25         in.close();
    26     }
    27 
    28 }

    整理的有些粗糙,大家多提一下建议哈。

    展开全文
  • (注:会用到Tomact服务器,在webapps下有一个自己创建的目录myweb,下面有一个文件1.html)服务端原理自定义一个服务端,使用自己已有的客户端IE浏览器,了解一下客户端都发送了什么请求。1 packagecn.ie_server;23 ...
  • 自定义服务端,使用已有的客户端IE,了解一下客户端给服务端发了什么请求发送请求是: GET / HTTP/1.1 请求请求方式 /myweb/1.html 请求的资源路径 http协议版本。请求消息头 . 属性名:属性值Accept: ...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
  • 运行下面的程序,浏览器端输入自己主机的IP地址+端口号(8888),会看到服务器返回的数据内容,Eclipse控制台会打印显示收到的信息,通过我们自定义的服务器,可以看到浏览器端向服务器发送请求信息的格式是:请求行....
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
  • Java网络编程

    2019-01-21 14:56:38
    略,待补 最常见的客户端: 浏览器 :IE。...发送请求是: GET / HTTP/1.1 请求请求方式 /myweb/1.html 请求的资源路径 http协议版本。 请求消息头 . 属性名:属性值 Accept: image/gif, i...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
  • java源码包4

    千次下载 热门讨论 2013-04-20 11:31:44
     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
  • JAVA中的Servlet

    2020-08-05 20:46:38
    处理请求发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。理解这个的前提是了解一些http协议的东西,知道B/S模式(浏览器/服务器)。 延伸: C/S模式(客户端/...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
  • 容器向客户端发送一个 cookie,客户端后续到服务器请求都将返回该cookie,明确地将请求与会话关联。会话跟踪 cookie 的标准名字必须是JSESSIONID。容器也允许通过容器指定的配置自定义会话跟踪cookie的名字。所有 ...
  • 通过我们自定义的服务器,可以看到浏览器端向服务器发送请求信息的格式是: 请求行.......GET / HTTP/1.1 请求方式 /myweb/1.html 请求的资源路径 http协议版本。请求消息头 . 属性名:属性值 ec...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...
  • java开源包12

    热门讨论 2013-06-28 10:14:45
    Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...
  • 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持...
  • Java资源包01

    2016-08-31 09:16:25
    Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...
  • Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求HTTP 服务器上的数据库或应用程序之间的中间层。Servlet 执行以下主要任务:读取客户端(浏览器)发送的...
  • java开源包101

    2016-07-13 10:11:08
    Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...
  • Spring Boot :Spring Boot 可以轻松创建独立的生产级基于 Spring 的应用程序,内置 web 服务器让你可以像运行普通 Java 程序一样运行项目。另外,大部分 Spring Boot 项目只需要少量的配置即可,这有别于 Spring 的...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 173
精华内容 69
关键字:

java服务器发送自定义http请求

java 订阅