导航:首页 > 安装方法 > post方法的参数放在哪里

post方法的参数放在哪里

发布时间:2022-12-16 13:40:37

Ⅰ java HttpPost怎么传递参数

public class HttpURLConnectionPost {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

readContentFromPost();

}

public static void readContentFromPost() throws IOException {

// Post请求的url,与get不同的是不需要带参数

URL postUrl = new URL("http://www.xxxxxxx.com");

// 打开连接

HttpURLConnection connection = (HttpURLConnection) postUrl.openConnection();

// 设置是否向connection输出,因为这个是post请求,参数要放在

// http正文内,因此需要设为true

connection.setDoOutput(true);

// Read from the connection. Default is true.

connection.setDoInput(true);

// 默认是 GET方式

connection.setRequestMethod("POST");

// Post 请求不能使用缓存

connection.setUseCaches(false);

//设置本次连接是否自动重定向

connection.setInstanceFollowRedirects(true);

// 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的

// 意思是正文是urlencoded编码过的form参数

connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

// 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,

// 要注意的是connection.getOutputStream会隐含的进行connect。

connection.connect();

DataOutputStream out = new DataOutputStream(connection

.getOutputStream());

// 正文,正文内容其实跟get的URL中 '? '后的参数字符串一致

String content = "字段名=" + URLEncoder.encode("字符串值", "编码");

// DataOutputStream.writeBytes将字符串中的16位的unicode字符以8位的字符形式写到流里面

out.writeBytes(content);

//流用完记得关

out.flush();

out.close();

//获取响应

BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String line;

while ((line = reader.readLine()) != null){

System.out.println(line);

}

reader.close();

//该干的都干完了,记得把连接断了

connection.disconnect();

}

(1)post方法的参数放在哪里扩展阅读:

关于Java HttpURLConnection使用

public static String sendPostValidate(String serviceUrl, String postData, String userName, String password){

PrintWriter out = null;

BufferedReader in = null;

String result = "";

try {

log.info("POST接口地址:"+serviceUrl);

URL realUrl = new URL(serviceUrl);

// 打开和URL之间的连接

URLConnection conn = realUrl.openConnection();

HttpURLConnection httpUrlConnection = (HttpURLConnection) conn;

// 设置通用的请求属性

httpUrlConnection.setRequestProperty("accept","*/*");

httpUrlConnection.setRequestProperty("connection", "Keep-Alive");

httpUrlConnection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

httpUrlConnection.setRequestMethod("POST");

httpUrlConnection.setRequestProperty("Content-Type","application/json;charset=UTF-8");

Base64 base64 = new Base64();

String encoded = base64.encodeToString(new String(userName+ ":" +password).getBytes());

httpUrlConnection.setRequestProperty("Authorization", "Basic "+encoded);

// 发送POST请求必须设置如下两行

httpUrlConnection.setDoOutput(true);

httpUrlConnection.setDoInput(true);

// 获取URLConnection对象对应的输出流

out = new PrintWriter(new OutputStreamWriter(httpUrlConnection.getOutputStream(),"utf-8"));

// 发送请求参数

out.print(postData);

out.flush();

// 定义BufferedReader输入流来读取URL的响应

in = new BufferedReader(new InputStreamReader(httpUrlConnection.getInputStream(),"utf-8"));

String line;

while ((line = in.readLine()) != null) {

result += line;

}

//

// if (!"".equals(result)) {

// BASE64Decoder decoder = new BASE64Decoder();

// try {

// byte[] b = decoder.decodeBuffer(result);

// result = new String(b, "utf-8");

// } catch (Exception e) {

// e.printStackTrace();

// }

// }

return result;

} catch (Exception e) {

log.info("调用异常",e);

throw new RuntimeException(e);

}

//使用finally块来关闭输出流、输入流

finally{

try{

if(out!=null){

out.close();

}

if(in!=null){

in.close();

}

}

catch(IOException e){

log.info("关闭流异常",e);

}

}

}

}

Ⅱ 从http请求中 获得请求参数 应该调用哪个方法

HTTP请求方式有两种,一种是GET方式,请求参数会用“?”作为分隔符跟在请求资源后面;另一种是POST方式,请求参数放在了最后面的位置。
服务器监听到浏览器的链接,首先将HTTP请求信息保存下来,再进行解析。
// 请求信息的输入流
private InputStream input;

//获得HTTP请求信息,并解析出请求使用的是GET还是POST,然后调用相应的处理方法进行处理

public void parseInput(){
byte [] b = new byte[1024];
try {
input.read(b);
} catch (IOException e) {
LogInfo.error("读取请求信息出错"+e.getMessage());
return;
}
String inputStr = new String(b);
String type = inputStr.substring(0,inputStr.indexOf(" "));
if("GET".equals(type)){
parseGetString(inputStr);
}
else{
parsePostString(inputStr);
}

}
//路径信息,http://localhost:8088/CCB?account=abc&pwd=123,其中/CCB表示pathInfo
private String pathInfo;
//请求资源路径,pathInfo中最后一个斜杆后米啊的字符串,如/bank/CCB,其中/CCB表示urlPattern
private String urlPattern;
//请求参数,在Get请求中第一个问号后面的字符串,如account=abc&pwd=123
private String queryStr;
//解析GET请求
public void parseGetString(String getStr){

String allStr = getStr;
String info = allStr.substring(allStr.indexOf("/"),allStr.indexOf(" HTTP"));
int end = info.indexOf("?");
if(end == -1){
pathInfo = info;
}else{
pathInfo = info.substring(0,end);
queryStr = info.substring(end + 1);

}
urlPattern = pathInfo.substring(pathInfo.lastIndexOf("/"));
parseQueryInfo(queryStr);
}
//解析POST请求
public void parsePostString(String postStr){
String qStr = postStr.trim();

pathInfo = postStr.substring(postStr.indexOf("/"),postStr.indexOf(" HTTP"));
urlPattern = pathInfo.substring(pathInfo.lastIndexOf("/"));
queryStr = qStr.substring(qStr.lastIndexOf(System.getProperty("line.separator"))).trim();
parseQueryInfo(queryStr);
}
解析出请求资源路径和请求参数就可以找到对应的资源发送给浏览器或根据请求参数做相应的处理,再将资源发送回去。

Ⅲ get和post请求的参数位置

1、post:
export function getRelatedAuthors(data) {
return request({
url: ${process.env.VUE_APP_KCMS_LITERATURE_API}${process.env.VUE_APP_KCMS_VERSION}/articles/relations/authors ,
method: 'post',
data: data
});
}
2、get:
(1)
export function getMagazineInfo(data) {
return request({
url: process.env.VUE_APP_KCMS_PUBLICATION_API +'knavibeta/' + process.env.VUE_APP_KCMS_VERSION +
/navi/${data.types}/${data.id}/detail ,
method: 'get',
params: {
group:data.group
}
});
}
(2)
export function getMagazineInfo(data) {
return request({
url: process.env.VUE_APP_KCMS_PUBLICATION_API +'knavibeta/' + process.env.VUE_APP_KCMS_VERSION +
/navi/${data.types}/${data.id}/detail?group=${} ,
method: 'get',
});
}

Ⅳ get和post数据提交到哪里

表单的GET、POST提交方法,在不同角度看来各有区别。 一、表单的编写人看来,GET方式的表单代码是这样的(表单1): ...其它参数 POST方式的表单代码是这样的(表单2): ...其它参数 还可以编写下面的表单,同时提交GET和POST内容,例如(表单3)...
2016-03-28 回答者: 阳光上的桥 2个回答 4

Ⅳ Http的post请求资源路径中可以加参数吗

完全可以。
不过服务器端获取参数的方式不一样!

Ⅵ http post 怎么传参数

POST 传递数据 : 创建一个 HttpPost 对象, 使用要连接的uri 创建, 参数放在一个 NameValuePair 数组中, 这个很重要, 这个NameValuePair 可以直接存放要传递的键值对;

Ⅶ ESTAPI:POSTrequest的参数从哪传

使用post的时候一样能从url中获取参数,正规的做法是把参数放到body中。举个例子,假设用的https的话,把参数放到url中,别人抓包是可以看到的,但是放到body中抓包就只能看到加密后的数据了。

Ⅷ POST的跨域原理解析及GET和POST的区别

但是也是因为浏览器同源策略的原因,前端页面不能跨域请求所需资源
但是在日常的WEB开发中,需要进行跨域请求,常用有两种方式可以跨域请求所需资源
1:JSONP
JSONP是服务器与客户端跨源通信的常用方法。最大特点就是简单适用,老式浏览器全部支持,
服务器改造非常小。
JSONP的原理是利用script标签的src属性可以进行不受同源策略的限制,进行跨域请求数据的属性,在
HTML页面中添加一个script标签,向服务器发送请求,服务器收到请求后,返回数据,
将数据放在指定的回调函数中,回调函数中可以对数据进行操作

2:GET、POST
CORS是W3C标准,它允许浏览器向跨源服务器发送AJAX请求,当浏览器发送请求的时候,会在请求头自动添加上origin字段,值为发送请求的页面的所在域名,请求到达服务器,服务器会根据这个字段校验,如果这个源不在许可范围内,会有一个正常的响应,但是响应头部没有Access-Control-Allow-Origin,浏览器报抛出一个错误,会被xhr的onerror函数捕获,但是HTTP的状态码也有可能是200;如果请求的类型是PUT或者DELETE等特殊的请求方法,或者content-type:application/json,那么,这个请求为非简单请求,浏览器会在发送正式请求前先发送一个预检请求,预检请求中的请求头部信息除了origin源字段以外,还有Access-Control-Allow—Method和Access-Control-Allow—Header,预检请求是一个OPTION类型的请求,只要服务端通过了预检请求,之后的请求就和简单请求是一样的
GET、POST是ajax请求,ajax请求是基于XMLHttpRequest对象的跨域请求方式(低版本的ie是
ActiveXObject对象),XMLHttpRequest是ajax的核心机制,
它是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,
而不阻塞用户。达到无刷新的效果。
GET和POST的区别:
1.post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)
2.post发送的数据量更大(get有url长度限制)
3.post能发送更多的数据类型(get只能发送ASCII字符)
4.post比get慢
5.get是幂等的,而post不是幂等的
6.get可以被缓存,post不可以被缓存

因为get请求的请求参数是放在header中(添加在链接后面),而post请求的参数是放在body中,其实url的长度限制不是get和post所决定的,而是浏览器有所限制,和get、post没有基本没有关系
get和post相比,要快,是因为get和post的请求过程不同,不多前三步都是一样的,都是要先经过和服务器的三次握手:
1.浏览器请求tcp连接(第一次握手)
2.服务器答应进行tcp连接(第二次握手)
3.浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
get请求在第四步就会接收到了服务器返回的数据,而post请求在第四步是接收到服务器发送的100 continue指令,客户端在发送数据请求服务端,服务端才会去返回数据,
就是说POST比GET多进行了一次客户端和服务器的打交道,GET请求产生了一个TCP数据包,而POST请求产生了两个TCP数据包

阅读全文

与post方法的参数放在哪里相关的资料

热点内容
工艺气体检测方法 浏览:732
心脏室上速治疗方法 浏览:582
无腿锻炼方法 浏览:527
睡眠枕使用方法 浏览:635
数字显示最简单的方法 浏览:1006
用纸做回旋镖的简单方法 浏览:548
风挟热邪有什么调理方法 浏览:178
美腹肌的使用方法视频 浏览:507
isdg爽快酵素胶囊的食用方法 浏览:108
如何学好阅读理解方法 浏览:127
奥迪水壶的安装方法 浏览:971
红米四设置自动开关机在哪里设置方法 浏览:660
手指扭伤如何消肿快速方法 浏览:205
快速治疗烂嘴的方法 浏览:810
电路阻值的计算方法 浏览:973
测量房屋角尺的使用方法 浏览:809
禽腺病毒检测方法 浏览:480
皮制手机壳清洗方法 浏览:161
学习英语翻译的方法和技巧 浏览:82
橘子的使用方法 浏览:983