首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >POST HTTP请求以用户名和密码登录,使用Java脚本和c++

问POST HTTP请求以用户名和密码登录,使用Java脚本和c++
EN

Stack Overflow用户
提问于 2011-03-07 05:02:16
回答 2查看 60.1K关注 0票数 0

我一直在用C++开发一个应用程序,有些部件需要连接到http服务器,我成功地发送了GET和HEAD请求,并检索了网页。

目前,我试图发送一个要求登录信息的网站,它类似于GET请求,然而,我不知道如何写它。

让我们说:

代码语言:javascript
复制
POST /users/login HTTP/1.1
HOST: www.example.com
Content-Length: 50, 
username: ME
password: pass

然后接收身份验证以检索所需的登录页面,

我怎么写我的帖子请求!?

该网站使用表单身份验证。我的意思是,有一个框可以输入电子邮件地址和密码,然后点击提交。据我所知,这是用JS写的。

任何帮助或指导都会受到感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-07 07:24:43

尝试将您的请求重写为:

代码语言:javascript
复制
POST /users/login HTTP/1.1
HOST: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

username=ME&password=pass

我认为“25”是正确的长度。

作为练习,您可以下载允许像WireShark这样的调试的HTTP工具,然后登录到一个没有安全登录系统的通用论坛,就像phpbb论坛通常使用的那样。

票数 5
EN

Stack Overflow用户

发布于 2011-03-07 09:45:01

POST是诸如GET、HEAD等http方法之一,很少有关于HTTP本身的基本知识。它是一种基于文本的协议(您可以使用telnet客户端连接到服务器的端口80,比如putty,然后手动输入整个请求)。

第一行包含方法(GET、HEAD、POST等)、URL路径和您支持的HTTP协议版本。我建议使用HTTP1.0,因为您不会在同一个连接内发送多个请求。这很难实现。

下一组行称为标头,每行包含一个键(内容类型、内容长度、主机等)和一个由':‘分隔的值。

那么,所发送的内容就是请求的主体。这些信息必须被加密。通读http://www.w3schools.com/tags/ref_urlencode.asp

现在来看看您的问题,如果您已经知道如何执行GET,那么在这个假设的基础上,需要执行以下步骤。

  1. 请求将是"POST HTTP/1.0“
  2. 发送至少这些报头

内容-类型:应用程序/x-www-格式-用户编码的内容-长度:

作为主体发送包含inputname1=value1&inputname2=valule2

  • Now的urlencoded文本,您应该从服务器.

获得信息。

希望这能有所帮助。如果您想知道更多的内容,请阅读http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5216006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档