post请求

原生post请求

 ̄綄美尐妖づ 提交于 2019-12-30 21:17:08
ajax: function(opt) { opt = opt || {}; opt.method = opt.method.toUpperCase() || 'POST'; opt.url = opt.url || ''; //请求地址 opt.async = opt.async || true; //是否异步请求 opt.data = opt.data || null; //传输数据 opt.success = opt.success || function() {}; //服务器响应成功进行相应的处理 var xmlHttp = null; if (XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); //服务器请求对象 } else { xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); //兼容微软请求对象 } var params = []; for (var key in opt.data) { // params.push(key + '=' + opt.data[key]); params.push(encodeURIComponent(key) + '=' + encodeURIComponent(opt.data[key])); } var postData =

ajax的get和post二合一的封装

牧云@^-^@ 提交于 2019-12-30 21:16:17
<script> document.onclick = function(){ ajax({ // type:"get", //发送方式,可选,默认get url:"http://localhost/1908/ajax/data/data.php", //要请求的地址,必选 success:function(res){ //请求成功之后的函数,必选 console.log(res) }, // data:{ //要发送的数据,可选,默认不发 // user:"admin", // pass:13123121123 // }, // error:function(res){ //请求失败之后的函数,可选,默认不处理 // console.log(res) // }, // timeout:10 //请求超时的时间,可选,默认2000 }) } function ajax(options){ // 1.处理默认参数 var {type,url,success,error,data,timeout} = options; type = type || "get"; data = data || {}; timeout = timeout || 2000; // 2.解析要发送的数据 var str = ""; for(var i in data){ str += `${i}=${data

java发送http的get、post请求

Deadly 提交于 2019-12-30 21:15:42
原文地址: https://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html http://blog.csdn.net/m1mory/article/details/76944668 1.get请求 /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return URL 所代表远程资源的响应结果 */ public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection

解决post、get端中文乱码问题

假装没事ソ 提交于 2019-12-29 16:38:32
在web.xml中配置: <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 对于get请求中文参数出现乱码解决方法有两个: 1.修改tomcat配置文件添加编码与工程编码一致,如下: <ConnectorURIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 2.另外一种方法对参数进行重新编码: String userName = new String(request

PHP的cURL扩展库使用详解

你说的曾经没有我的故事 提交于 2019-12-29 08:56:06
在还没有接触curl的时候,相信大家在获取网页内容的时,使用得最多的一个函数就是:file_get_contents(),但是它的可控制性不够灵活,无法处理错误情况,对于各种复杂情况的采集更是显得有点无能为力。因此,本文将为你介绍另外一种工具:cURL的使用方法,在后面也还会给出相关的几个案例,这些都是你使用file_get_contents()无法做到的。 一、cURL库的介绍 为了更好的理解下面的内容,这里先给出一个curl的最简单的案例 入门案例: $url = "http://nosee123.com/test_post.php"; $ch = curl_init($url); //初始化一个cURL会话 curl_exec($ch); //执行一个cURL会话 curl_close($ch); //关闭一个cURL会话 该案例的执行结果就是把$url的网页内容输出到你的浏览器上,其实这个案例的效果和使用file_get_contents()的结果是一样的,这是因为它没有设置任何的参数。但cURL的功能远远不止这些,下面我们开始讲解cURL更详细的使用方法。 cURL是一个可以使用URL的语法模拟浏览器来传输数据的工具库(libcurl库),libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议

php发送post请求

无人久伴 提交于 2019-12-28 12:12:04
Http中传输对象,最好的表现形式莫过于 JSON 字符串了,但是作为参数的接收方,又是需要被告知传过来的是JSON! function http_post_json($url, $jsonStr) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($jsonStr) ) ); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); return array($httpCode, $response); } $url = "http://blog.snsgou.com"; $jsonStr = json_encode(array

vue-resource获取不了数据,和ajax的区别,及vue-resource用法

微笑、不失礼 提交于 2019-12-28 09:22:55
前几天用vue-resource调用接口,用post方式给后端,发现后端php接受不到数据,这好奇怪,最后发现提交给后端的时候 需要加一个参数 就是:emulateJSON : true 这句话的意思是 将request body以application/x-www-form-urlencoded content type发送 上个小demo看下 _this.$http.post('/apiwx2/xqsj.php', { 'token' : _this.token, 'house' : _this.userName, }, {emulateJSON : true} ).then((response) => { let ret = (new Function("return " + response.data))(); if(ret.code == 1){ _this.showSuccess = true; }else if(ret.code == 3){ _this.showError = true; }else{ _this.tips(ret.msg); } }) .catch(function (response) { console.log(response) }) 如果后端给你的数据 response.data 得不到 那就是后端给你的是字符串,需要你转成json即可

【学习】014 深入理解Http协议

我的梦境 提交于 2019-12-28 09:02:51
Http协议入门 什么是http协议 http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 查看http协议的工具 1)使用火狐的firebug插件(右键->firebug->网络) 2)使用谷歌的“审查元素” 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-Encoding: gzip, deflate Connection: keep-alive 响应(服务器-》浏览器) HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Length: 24 Date: Fri, 30 Jan 2015 01:54:57 GMT this is hello servlet!!! Http请求 GET /day09

请求库之urllib,requests及工具selenium

徘徊边缘 提交于 2019-12-28 02:39:39
urllib模块 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求。其常被用到的子模块在Python3中的为urllib.request和urllib.parse,在Python2中是urllib和urllib2。 一、使用流程: 指定url 基于urllib的request子模块发起请求 获取响应中的数据值 持久化存储 二、urlopen函数原型: urllib.request.urlopen(url, data=None, timeout=<object object at 0x10af327d0>, *, cafile=None, capath=None, cadefault=False, context=None) 在日常开发中,我们能用的只有url和data这两个参数。 url参数:指定向哪个url发起请求 url的特性:url必须为ASCII编码的数据值。所以我们在爬虫代码中编写url时,如果url中存在非ASCII编码的数据值,则必须对其进行ASCII编码后,该url方可被使用。 get: word = urllib.parse.quote("人民币") post: data = { 'kw':'西瓜'} data = urllib.parse.urlencode(data) data = data.encode()

Vue简单封装axios—解决post请求后端接收不到参数问题

元气小坏坏 提交于 2019-12-27 10:53:11
1.在src/下新建api文件夹,api/下新建index.js和public.js 在public.js中: import axios from 'axios'; import qs from 'qs' import router from '../router' import { MessageBox} from 'mint-ui' // 注意点,按照以下写 var instance = axios.create(); instance.defaults.timeout = 10000; instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; export default { fetchGet(url, params = {}) { return new Promise((resolve, reject) => { axios.get(url, params).then(res => { if(res.data.code === 302) { MessageBox('提示', '登录失效,请重新登录'); MessageBox.alert('登录失效,请重新登录', '提示').then(action => { router.push("/login"); });