卷发请求在Postman中不能用作相同的请求

时间:2017-06-26 07:28:21

标签: php curl web postman

您好我试图在社交网络中进行一些自动化。我成功地使用卷曲登录,但是我坚持另一个行动。

事情是我在登录后发送带有cookie的POST请求,并且从html表单解析参数以形成动作URL并且Curl在此请求上返回http代码200,但它应该返回302(我尝试了FOLLOWLOCATION false)。

我从curl请求中检索了所有数据,并尝试通过POSTMAN app发送它。它有效。我不明白为什么它不适用于curl。

<?php

    session_start();
    $svar = 'vaccines';

    if( $_SERVER['REQUEST_METHOD']=='POST' ) $_SESSION[ $svar ]=$_POST;

?>
<!doctype html>
<html>
    <head>
        <meta charset='utf-8'>
        <title>Sessions and POST data - vaccines</title>
    </head>
    <body>
        <?php
            if( isset( $_SESSION[ $svar ] ) ){
                echo '<pre>',print_r( $_SESSION[ $svar ],true ),'</pre>';
            }
        ?>
        <form name='vaccines' method='post'>
            <table>
                <tr>
                    <td>ID</td>
                    <td><input type='text' name='vaccine-id' /></td>
                </tr>
                <tr>
                    <td>Name</td>
                    <td><input type='text' name='vaccine-name' /></td>
                </tr>
                <tr>
                    <td>Dose</td>
                    <td><input type='text' name='vaccine-dose' /></td>
                </tr>
                <tr>
                    <td>Price</td>
                    <td><input type='text' name='vaccine-price' /></td>
                </tr>
                <tr>
                    <td colspan=2><input type='submit' /></td>
                </tr>
            </table>
        </form>
    </body>
</html>

相同的代码已用于登录操作。

1 个答案:

答案 0 :(得分:0)

经过几天的努力,我得出结论,问题不在于卷曲和邮递员之间的差异。当我尝试使用预定义的cookie发送curl请求时,发布数据并且它可以工作。

最后

  

html_entity_decode()

救了我的一天。已为curl设置的网址包含&amp; .amp;特殊字符而不是&amp;这就是麻烦的原因。