关于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"/>
关于java post get请求Demo (请求c#iis接口)的更多相关文章
- Java Apcahe的HTTPClient工具Http请求当请求超时重发
java Apcahe的HTTPClient工具Http请求当请求超时时底层会默认进行重发,默认重发次数为3次,在某些情况下为了防止重复的请求,需要将自动重发覆盖. 设置HTTP参数,设置不进行自动重 ...
- Java学习笔记--通过java.net.URLConnection发送HTTP请求
http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...
- 通过java.net.URLConnection发送HTTP请求的方法
一.前言 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求. Java有原生的API可用于发送HTTP请求,即java.net.URL.java.net.UR ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
- java异步线程池同时请求多个接口数据
一.主要使用类 . ExecutorService java线程池类 申明方式:ExecutorService exc = Executors.newFixedThreadPool(requestPa ...
- java发送post请求 ,请求数据放到body里
java利用httpclient发送post请求 ,请求数据放到body里. /** * post请求 ,请求数据放到body里 * * @author lifq * * 2017年3月15日 下午3 ...
- HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端
协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求 Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java ...
- java 模拟浏览器发送post请求
java使用URLConnection发送post请求 /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求 ...
随机推荐
- 11.Flask-钩子函数
在Flask中钩子函数是使用特定的装饰器的函数.为什么叫做钩子函数呢,是因为钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码,那么这种函数就叫做钩子函数. before_first_requ ...
- django views视图函数
Django views.py视图文件 一. 创建views.py文件,在工程文件夹根目录创建views.py视图文件,其实任意文件名都可以,使用views是为了遵循传统. 注:所有的views函数都 ...
- Xors on Segments Codeforces - 620F
http://codeforces.com/problemset/problem/620/F 此题是莫队,但是不能用一般的莫队做,因为是最优化问题,没有办法在删除元素的时候维护答案. 这题的方法(好像 ...
- Laravel环境搭建
在有了初步认知后,当然就要开始在自己的电脑上搭建Laravel的开发环境了. 系统环境需求 PHP 5.3.7或者更高版本,如果没有系统没有安装PHP环境的,请到下面地址下载:http://cn2.p ...
- AJPFX关于modifier总结
修饰符总结 Modifiers 函数修饰符始终在返回值类型之前!!! 变量修饰符始终在变量类型之前!!!---------------------------------- ...
- Flutter交互实战-即刻App探索页下拉&拖拽效果
前言 Flutter最近比较热门,但是Flutter成体系的文章并不多,前期避免不了踩坑:我这篇文章主要介绍如何使用Flutter实现一个比较复杂的手势交互,顺便分享一下我在使用Flutter过程中遇 ...
- Django系列:(1)PyCharm下创建并运行我们的第一个Django工程
准备工作: 假设读者已经安装好python 2x或3x,以及安装好Django,以及Pycharm. 我的配置: – Python 2.7.11 – Pycharm Professional 5.0. ...
- nginx php 配置模板
server { listen 80; server_name www.xxx.com; #access_log logs/www.xxx.com.access. ...
- leetcode_919. Complete Binary Tree Inserter
https://leetcode.com/problems/complete-binary-tree-inserter/ 设计一个CBTInserter,使用给定完全二叉树初始化.三个功能; CBTI ...
- H5 canvas 直线和三角形
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...