php登录api,PHP登录REST API
我正在尝试创建一个restapi并寻找使用PHP登录的方法,文档提供了一个使用Python的登录示例,但是我不知道如何使用PHP来实现这一点。我在想下面的Python代码是否有PHP版本。在
参见以下代码:def login():
global sessionID
req = urllib2.Request("https:///appserver/j_spring_security_check")
req.add_data(urllib.urlencode({"j_username" : "admin","j_password" :"demoserver"}))
res = opener.open(req)
sessionID = getCookie("JSESSIONID",cookies)
# Get the value of JSESSIONID cookie
response = res.read()
return
如果需要使用PHP登录到web服务,我可以使用什么登录脚本(PHP版本)(考虑Python示例)?在
附加信息:Logging into the web service requires a JSON object as the request body with user name and password:
Successful execution of the method will return a Cookie session Id
Example request JSON: {"j_username" : "username", "j_password":"*******"}
User needs to parse the cookies and extract cookie with key as JSESSIONID. This JSESSIONID value needs to be added manually in all headers of the Rest calls
“Cookie”: “JSESSIONID=“ + cookieValue
另一个使用Python的示例:
^{pr2}$
请求标头:Host: 192.168.100.100:444
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*\/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://192.168.100.100:444/appserver/portal/login;jsessionid=6AD37194D43AB02BB79E26C71554958F
Cookie: JSESSIONID=6AD37194D43AB02BB79E26C71554958F
Connection: keep-alive
Upgrade-Insecure-Requests: 1
----------在
当我尝试使用Linux的curl时,下面是代码。在curl -k -i -H "Content-type: application/x-www-form-urlencoded" -c cookies.txt -X POST https://192.168.100.100:444/appserver/j_spring_security_check -d "j_username=admin&j_password=demoserver"
这是linuxcurl的结果,我相信自从我被路由到欢迎页面后,它已经成功地连接到了一起。在HTTP/1.1 302 Found
Date: Thu, 16 Feb 2017 18:41:59 GMT
Server: Apache/2.2.26 (Unix) mod_ssl/2.2.25 OpenSSL/1.0.1e mod_jk/1.2.37
Set-Cookie: JSESSIONID=358446CC1F87B2D698D48AFECA373691; Path=/appserver/; HttpOnly
Location: https://192.168.100.100:444/appserver/portal/welcome;jsessionid=358446CC1F87B2D698D48AFECA373691
Content-Length: 0
Access-Control-Allow-Origin: *
Content-Type: text/plain
----------在
但是当我尝试使用PHP curl编写代码时,仍然无法连接。在<?php
$ch = curl_init();
$url = "https://192.168.100.100:444/appserver/j_spring_security_check";
$postData = 'j_username=admin&j_password=demoserver';
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1); // -X
curl_setopt($ch, CURLOPT_POSTFIELDS,$postData); // -d
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'application/x-www-form-urlencoded'
)); // -H
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); // -c
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); // -c
curl_setopt($ch, CURLOPT_HEADER, true); // -i
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // -k
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec ($ch);
curl_close ($ch);
这是我浏览器中的结果标题。
请求URL:http://localhost/curl.php
请求方法:GET
远程地址:127.0.0.1:80
状态代码:200 OK
版本:HTTPResponse header:
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/\*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Response headers:
Date: Thu, 16 Feb 2017 18:43:52 GMT
Server: Apache/2.2.26 (Unix) mod_ssl/2.2.25 OpenSSL/1.0.1e mod_jk/1.2.37
Content-Language: en-US
Content-Length: 4815
Access-Control-Allow-Origin: *
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=UTF-8
php登录api,PHP登录REST API相关推荐
- Angularjs 通过asp.net web api认证登录
Angularjs 通过asp.net web api认证登录 Angularjs利用asp.net mvc提供的asp.net identity,membership实现居于数据库的用户名/密码的认 ...
- 网易云音乐api,登录出现 网络太拥挤
微信小程序使用网易云api时登录出现网络拥挤 {code: -460, message: '网络太拥挤,请稍候再试!'} 解决办法:请求头内添加一个cookie const cookie = '9d8 ...
- Springboot 实现api校验和登录验证
https://blog.csdn.net/qq_36085004/article/details/83348144 2018年10月24日 17:59:29 PerkinsLi 阅读数:232 文章 ...
- 网易云api访问登录后仍返回{msg: ‘需要登录‘, code: 301}
网易云api访问登录后仍返回{msg: '需要登录', code: 301} 在用网易云API做网页时,需要使用某些需要登录的接口,在登录后仍然无法获取相关数据. 原因:在跨域请求时,没有携带用户凭证 ...
- 《十四》微信小程序中的常用 API之登录、获取用户信息、支付、提现、跳转小程序、网络请求、弹框、导航、数据缓存、图片、查看文档、音频、拨打电话、剪贴板、滚动、WXML
微信小程序提供了 wx 这个全局变量,通过这个全局变量可以调用微信小程序的 API. 登录: wx.login():获取登录凭证 code.通过登录凭证 code 进而换取用户登录态信息,包括用户在当 ...
- qq 新浪微博 第三方登录 api php,qq登录,新浪微博登录接口申请过程中遇到的问题...
1,qq登录接口申请 申请地址是:http://connect.opensns.qq.com/,登录进去后,点击右上方的登录.然后填写信息就行了. 我遇到的问题是在域名审核时,域名审核就是不通过,没办 ...
- 各种登录源码来了!基础登录、验证码登录、小程序登录...全都要!
现在开发个应用登录比以前麻烦的多.产品经理说用户名密码登录.短信登录都得弄上,如果搞个小程序连小程序登录也得安排上,差不多就是我全都要. 多种登录途径达到一个效果确实不太容易,今天胖哥在Spring ...
- jwt单点登录_单点登录SSO技术选型
一些人存在的意义总归是让另一些人成长,然后消失. --刘同<谁的青春不迷茫> 1.单点登录是什么? 单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这 ...
- 文件服务器换个用登录,文件服务器迁移 登录
文件服务器迁移 登录 内容精选 换一换 服务器迁移通常有三种手段:全新部署业务.主机迁移服务.镜像迁移,如表1所示.对于华为云上云服务器的跨账号跨区域迁移,建议采用镜像迁移方式.跨账号跨区域迁移云服务 ...
- 第三方登录(QQ登录)开发流程详解
一.准备工作 接入QQ登录前,网站需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权. 申请appid和appkey的用途 appid :应用的唯一标 ...
最新文章
- EventBus简单分析
- Maven 排除依赖jar包
- Ubuntu Server中安装keepalived
- C ++ 指针 | 指针的详细概念和使用_1
- 北斗三号频点_解码北斗三号:和前两代卫星相比,它有何不同?
- php整人代码,HTML代码整人。。
- 单片机双击 长按 c语言,51单片机按键检测源程序(实现单击、双击、长按等功能)...
- HDU 操作系统实验二 -设计一个系统调用,返回指定进程的相关时间信息
- 数据库视图view简介
- LIN自动雨刮:雨量传感器原理与安装
- 与虎谋皮,饮鸩止渴,却有什么办法呢?
- Android——新大陆云平台配置(2)
- 轩辕剑--资料集(五)
- 集成运放虚短,虚断,虚地
- commander入门教程及高级用法
- Linux 历史简介
- 实现弹簧柔性状态的2种方式 | Solidworks教程
- table 表格的一些属性
- LSM-tree原理与应用
- No qualifying bean of type问题解决
热门文章
- java 数组大数乘法_java – 在数组中查找3个数字的最大乘积
- python创建透明窗体_python – PyQt5:使用不透明的子项创建半透明窗口
- 计算机实验室工作案例,2011年计算机学院实验室工作计划.
- ARCore-Unity3d教程3 - Unity Demo发布
- 如何让vim支持python_无法使vim支持python
- Ansible Tower 入门 1 - 配置主机清单和访问凭证
- OpenShift 4 - 配置OpenShift集群日志环境EFK
- OpenShift 4.3 通过脚本配置ServiceMesh和Serverless运行环境
- OpenShift 之 Quarkus(2)使用S2I部署Quarkus应用
- MongoDB教程——第2天