我正在尝试创建一个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_chec‌​k";

$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相关推荐

  1. Angularjs 通过asp.net web api认证登录

    Angularjs 通过asp.net web api认证登录 Angularjs利用asp.net mvc提供的asp.net identity,membership实现居于数据库的用户名/密码的认 ...

  2. 网易云音乐api,登录出现 网络太拥挤

    微信小程序使用网易云api时登录出现网络拥挤 {code: -460, message: '网络太拥挤,请稍候再试!'} 解决办法:请求头内添加一个cookie const cookie = '9d8 ...

  3. Springboot 实现api校验和登录验证

    https://blog.csdn.net/qq_36085004/article/details/83348144 2018年10月24日 17:59:29 PerkinsLi 阅读数:232 文章 ...

  4. 网易云api访问登录后仍返回{msg: ‘需要登录‘, code: 301}

    网易云api访问登录后仍返回{msg: '需要登录', code: 301} 在用网易云API做网页时,需要使用某些需要登录的接口,在登录后仍然无法获取相关数据. 原因:在跨域请求时,没有携带用户凭证 ...

  5. 《十四》微信小程序中的常用 API之登录、获取用户信息、支付、提现、跳转小程序、网络请求、弹框、导航、数据缓存、图片、查看文档、音频、拨打电话、剪贴板、滚动、WXML

    微信小程序提供了 wx 这个全局变量,通过这个全局变量可以调用微信小程序的 API. 登录: wx.login():获取登录凭证 code.通过登录凭证 code 进而换取用户登录态信息,包括用户在当 ...

  6. qq 新浪微博 第三方登录 api php,qq登录,新浪微博登录接口申请过程中遇到的问题...

    1,qq登录接口申请 申请地址是:http://connect.opensns.qq.com/,登录进去后,点击右上方的登录.然后填写信息就行了. 我遇到的问题是在域名审核时,域名审核就是不通过,没办 ...

  7. 各种登录源码来了!基础登录、验证码登录、小程序登录...全都要!

    现在开发个应用登录比以前麻烦的多.产品经理说用户名密码登录.短信登录都得弄上,如果搞个小程序连小程序登录也得安排上,差不多就是我全都要. 多种登录途径达到一个效果确实不太容易,今天胖哥在Spring ...

  8. jwt单点登录_单点登录SSO技术选型

    一些人存在的意义总归是让另一些人成长,然后消失. --刘同<谁的青春不迷茫> 1.单点登录是什么? 单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这 ...

  9. 文件服务器换个用登录,文件服务器迁移 登录

    文件服务器迁移 登录 内容精选 换一换 服务器迁移通常有三种手段:全新部署业务.主机迁移服务.镜像迁移,如表1所示.对于华为云上云服务器的跨账号跨区域迁移,建议采用镜像迁移方式.跨账号跨区域迁移云服务 ...

  10. 第三方登录(QQ登录)开发流程详解

    一.准备工作 接入QQ登录前,网站需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权. 申请appid和appkey的用途 appid :应用的唯一标 ...

最新文章

  1. EventBus简单分析
  2. Maven 排除依赖jar包
  3. Ubuntu Server中安装keepalived
  4. C ++ 指针 | 指针的详细概念和使用_1
  5. 北斗三号频点_解码北斗三号:和前两代卫星相比,它有何不同?
  6. php整人代码,HTML代码整人。。
  7. 单片机双击 长按 c语言,51单片机按键检测源程序(实现单击、双击、长按等功能)...
  8. HDU 操作系统实验二 -设计一个系统调用,返回指定进程的相关时间信息
  9. 数据库视图view简介
  10. LIN自动雨刮:雨量传感器原理与安装
  11. 与虎谋皮,饮鸩止渴,却有什么办法呢?
  12. Android——新大陆云平台配置(2)
  13. 轩辕剑--资料集(五)
  14. 集成运放虚短,虚断,虚地
  15. commander入门教程及高级用法
  16. Linux 历史简介
  17. 实现弹簧柔性状态的2种方式 | Solidworks教程
  18. table 表格的一些属性
  19. LSM-tree原理与应用
  20. No qualifying bean of type问题解决

热门文章

  1. java 数组大数乘法_java – 在数组中查找3个数字的最大乘积
  2. python创建透明窗体_python – PyQt5:使用不透明的子项创建半透明窗口
  3. 计算机实验室工作案例,2011年计算机学院实验室工作计划.
  4. ARCore-Unity3d教程3 - Unity Demo发布
  5. 如何让vim支持python_无法使vim支持python
  6. Ansible Tower 入门 1 - 配置主机清单和访问凭证
  7. OpenShift 4 - 配置OpenShift集群日志环境EFK
  8. OpenShift 4.3 通过脚本配置ServiceMesh和Serverless运行环境
  9. OpenShift 之 Quarkus(2)使用S2I部署Quarkus应用
  10. MongoDB教程——第2天