gpt4 book ai didi

PHP curl - 发布 asp.net viewstate 值

转载 作者:可可西里 更新时间:2023-11-01 12:36:41 24 4
gpt4 key购买 nike

我有以下代码从本地站点登录表单(用 php 编写)登录到外部站点应用程序(asp.net 应用程序):

<?php
$curl_connection = curl_init('www.external.com/login.aspx');

curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);

// Post data array
$post_data['LoginControl$UserName'] = 'ExampleUName';
$post_data['LoginControl$Password'] = 'ExamplePWord';

// Add form fields into an array to get ready to post
foreach ($post_data as $key => $value)
{
$post_items[] = $key . '=' . $value;
}
$post_string = implode ('&', $post_items);

// Tell cURL which string to post
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);

// Execute and post
$result = curl_exec($curl_connection);
?>

我被定向到外部站点的登录表单,而不是被定向到登录的应用程序。我认为问题是我需要传递 View 状态值,但我不确定如何去做那个?

我无法控制外部应用程序。但我们希望用户能够通过我们的网站登录应用程序,维护品牌等。

我最近发布了一些关于使用 php cURL 的其他主题,但我现在处于我认为 View 状态是问题的阶段......

谢谢,马克。

最佳答案

在尝试抓取 asp.net 页面时,这似乎是一个真正的问题。

页面包含一个名为“__VIEWSTATE”的隐藏字段,该字段包含一组 base64 编码的值,其中包含页面发送时的部分或全部页面状态。它通常还包含 View 状态的 SHA1。

这意味着您的帖子必须包含 _VIEWSTATE 中的所有内容,否则将会失败。

我已经能够发布一个只有 2 个字段的简单登录页面,但不能发布一个作者选择将整个页面状态放入 View 状态的更复杂的页面。

到目前为止,我还没有想出解决方案。

关于PHP curl - 发布 asp.net viewstate 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3263463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com