关于java post get请求Demo (请求c#iis接口)

废话不多说,直接上代码

package dxq.httpGetDemo;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {

    Button btn=null;
    TextView tv=null;
    private Handler handler=new Handler(){
        public void handleMessage(Message mes){
            if(mes!=null&&mes.what==0){

                tv.setText(mes.obj.toString());
            }
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn=(Button)findViewById(R.id.get);
        btn.setOnClickListener(this);
        btn=(Button)findViewById(R.id.post);
        btn.setOnClickListener(this);
        tv=(TextView)findViewById(R.id.content);
    }
    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub

        switch(arg0.getId()){
        case R.id.get:
             GetHttp();
            break;
        case R.id.post:
             PostHttp();
            break;
        }
    }

    /*
     * get请求接口
     * */
    public void GetHttp(){
        new Thread(new Runnable(){

            @Override
            public void run() {
                // TODO Auto-generated method stub
                try {
                    String data="data="+URLEncoder.encode("哈哈Get请求哦");
                    URL url=new URL("http://10.10.21.225:1106/Handler1.ashx");
                    HttpURLConnection connection=(HttpURLConnection)url.openConnection();
                    connection.setReadTimeout(5000);
                    connection.setRequestMethod("GET"); //请求方式 注意要大写
                    connection.setConnectTimeout(5000);
                    connection.setRequestProperty("Content-Length", String.valueOf(data.length()));
                    connection.setDoOutput(true);//设置true  就可以写了

                    connection.getOutputStream().write(data.getBytes());//写入数据
                    int code=connection.getResponseCode();
                    if(code==200){
                        InputStream is=connection.getInputStream();
                        //StreamTools.ReadStream(is);
                        ByteArrayOutputStream  bao=new ByteArrayOutputStream();
                        int len=0;
                        byte[] buffer=new byte[1024];
                        while((len=is.read(buffer))!=-1){

                            bao.write(buffer, 0, len);
                        }
                        is.close();
                        Message mes=new Message();
                        mes.what=0;
                        mes.obj=bao.toString();
                        handler.sendMessage(mes);
                        bao.close();
                    }else{

                        Log.i("错误码", String.valueOf(code));
                    }

                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    Log.i("异常信息", e.toString());
                }

            }

        }).start();

    }

    /*
     * post请求接口
     * */
    public void PostHttp(){

        new Thread(new Runnable(){

            @Override
            public void run() {
                // TODO Auto-generated method stub
                URL url;
                try {
                    String data="data="+URLEncoder.encode("呵呵 post请求");
                    url = new URL("http://10.10.21.225:1106/Handler1.ashx");
                    HttpURLConnection conn=(HttpURLConnection)url.openConnection();
                    conn.setReadTimeout(1000);
                    conn.setRequestMethod("POST");//post请求  注意要大写
                    conn.setConnectTimeout(2000);
                    //conn.setRequestProperty("", newValue)
                    conn.setDoOutput(true);
                    conn.getOutputStream().write(data.getBytes());
                    int code=conn.getResponseCode();
                    if(code==200){
                        InputStream is=conn.getInputStream();
                        //StreamTools.ReadStream(is);
                        ByteArrayOutputStream  bao=new ByteArrayOutputStream();
                        int len=0;
                        byte[] buffer=new byte[1024];
                        while((len=is.read(buffer))!=-1){

                            bao.write(buffer, 0, len);
                        }
                        is.close();
                        Message mes=new Message();
                        mes.what=0;
                        mes.obj=bao.toString();
                        handler.sendMessage(mes);
                        bao.close();

                    }else{
                        Log.i("结果码", String.valueOf(code));
                    }

                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    Log.i("post请求异常", e.toString());
                }
            }

        }).start();
    }

}

2. c#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication2
{
    /// <summary>
    /// Handler1 的摘要说明
    /// </summary>
    public class Handler1 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            if (context.Request["data"] != null)
            {
                context.Response.Write("C#接口"+context.Request["data"].ToString());
                return;
            }
            context.Response.Write("C#接口");
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

3. 执行结果

4. 增加一点 别忘了权限

<uses-permission android:name="android.permission.INTERNET"/>

原文地址:https://www.cnblogs.com/dxqNet/p/8494307.html

时间: 2024-08-29 00:29:21

关于java post get请求Demo (请求c#iis接口)的相关文章

Java Http GET POST发送请求

Java Http GET POST发送请求 本文写了1个java 发送GET请求以及2个java 发送POST请求,新手,不喜勿喷! 背景: 这是一个使用魔宝支付的demo,首先需要移动端提交商城订单,请求平台签名接口进行签名并获取支付所需要的要素,对支付公司返回的信息验签后返回移动端这些要素,移动端启动支付公司SDK进行支付交易,后续还有接收交易结果通知消息. 说明 GET核心:CloseableHttpClient和CloseableHttpResponse,HttpGet POST核心:

HTTP头部详解及使用Java套接字处理HTTP请求

HTTP头部详解及使用Java套接字处理HTTP请求 标签: javahttp服务器浏览器服务器socketurl 2008-03-18 17:39 9537人阅读 评论(1) 收藏 举报  分类: java(7)  进行Web开发关键是要了解超文本传输协议(HTTP),该协议用来传输网页.图像以及因特网上在浏览器与服务器间传输的其他类型文件.只要你在浏览器上输入一个URL,最前面的http://就表示使用HTTP来访问指定位置的信息.(大部分浏览器还支持其他一些不同的协议,其中FTP就是一个典

java使用httpcomponents发送get请求

一.适用场景 在ESTful webservice中,get方法一般都是用来获取数据.我们可以使用httpcomponents组件来完成调用. 如我们需要发起get请求,携带的参数都是附加到请求的url后面. url:"http://www.xxxxx.com/message?id=000010" 二.代码示例 1 package com.demo.test; 2 3 import java.io.IOException; 4 5 import org.apache.http.Http

【Stackoverflow问题精选】如何使用java.net.URLConnection收发HTTP请求

问题 如何使用java.net.URLConnection收发HTTP请求呢?处理Http请求,有哪些最佳实践? 讨论: 精华回答 首先声明,下面的代码,都是基本的例子.更严谨的话,还应加入处理各种异常的代码(如IOExceptions.NullPointerException.ArrayIndexOutOfBoundsException) 准备 首先,需要设置请求的URL以及charset(编码):另外还需要哪些参数,则取决于各自url的要求. String url = "http://exa

Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求

Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java 判断请求是不是ajax请求,Java判断是否为ajax请求 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright 蕃薯耀 2017年8月10日 http://www.cnblogs.com/

session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java判断是否是ajax请求)

在登录过滤器中,判断请求是ajax请求还是超链接或者地址栏变化的请求 if (httpServletReq.getHeader("x-requested-with") != null && httpServletReq.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) { JSONObject jsessiontimeout = new JSONOb

java swagger ui 添加header请求头参数

我用到的swagger 主要有三款产品,swagger editor,swagger ui 和swagger codegen. swagger editor:主要是一个本地客户端,用来自己添加api,自己来测试,相当于一个api的可视化测试工具和定义工具吧. swagger ui:主要用户嵌入到项目中,将所有的接口生成一个可视化的页面,方便前后端联调 swagger codegen:主要用于通过swagger来自动生成代码 我用的swagger ui主要在java项目中.将所有的http接口提供

SQL state [72000]; error code [1013]; ORA-03111: 通信通道收到中断; java.sql.SQLException: ORA-01745: 无效的主机/绑定变量名;java.sql.SQLException: ORA-01013: 用户请求取消当前的操作

1.oracle批量插入 2.java.sql.SQLException: ORA-01745: 无效的主机/绑定变量名(数据太多的时候出现解决方法限制条数插入) /** * 按指定大小,分隔集合,将集合按规定个数分为n个部分 * @param <T> * * @param list * @param len * @return */ public static <T> List<List<T>> splitList(List<T> list,

Android——网络 GET请求+POST请求

Android--网络  GET请求+POST请求 获取数据用GET请求   ?? 增删改查修改数据用POST请求 package com.example.jreduch07; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; i