Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash cURL-提交表单未按预期工作_Bash_Forms_Shell_Http_Curl - Fatal编程技术网

Bash cURL-提交表单未按预期工作

Bash cURL-提交表单未按预期工作,bash,forms,shell,http,curl,Bash,Forms,Shell,Http,Curl,我正在编写一个bash脚本,它应该模拟: 在搜索栏中键入 提交其内容 获取结果页面 给出这个基本示例: <input name="search" type="TEXT"> <input name="submit" value="SUBMIT" type="SUBMIT" align="center"> 我会使用curl-s-d“_search=value”>export.html,但是表单提交会像搜索之前一样将相同的html输出到export.html,这意味着没有任

我正在编写一个bash脚本,它应该模拟:

  • 在搜索栏中键入
  • 提交其内容
  • 获取结果页面
  • 给出这个基本示例:

    <input name="search"  type="TEXT">
    <input name="submit" value="SUBMIT" type="SUBMIT" align="center">
    
    我会使用
    curl-s-d“_search=value”>export.html
    ,但是表单提交会像搜索之前一样将相同的
    html
    输出到
    export.html
    ,这意味着没有任何变化;它返回主页而不是结果页

    我将如何提交此表格?我忘了什么吗


    NB:目标URL本身包含多个表单(在移动搜索栏、登录表单和其他表单中),其中一些表单即使不是完全相同,也非常相似,因此,告诉脚本使用此特定表单是合理的。

    我不小心使用了错误的链接。通过
    GET
    方法解析结果页面的正确方法是:

    curl -L '<URL>/search.asp?_search=value'
    
    curl-L'/search.asp?\u search=value'
    
    我需要
    -L
    标志来跟踪重定向,感谢@TravisClarke所说的。本例中的
    代表基本URL。
    对于有经验的用户来说非常简单;它将一组参数传递给目标URL,目标URL将输出所需的结果页面


    由于参数是直接通过链接传递的,因此不需要使用
    -d
    -data
    标志,而
    POST
    方法需要
    -d
    ,有时还需要
    -cookie

    我不小心使用了错误的链接。通过
    GET
    方法解析结果页面的正确方法是:

    curl -L '<URL>/search.asp?_search=value'
    
    curl-L'/search.asp?\u search=value'
    
    我需要
    -L
    标志来跟踪重定向,感谢@TravisClarke所说的。本例中的
    代表基本URL。
    对于有经验的用户来说非常简单;它将一组参数传递给目标URL,目标URL将输出所需的结果页面


    由于参数直接通过链接传递,因此不需要使用
    -d
    -data
    标志,这与
    POST
    方法相反,后者应该需要
    -d
    ,有时还需要
    -cookie

    cUrl的
    -d,--data
    选项,而不指定请求方法,默认情况下,将发送POST请求。您的表单似乎需要一个GET。我会尝试:
    curl-xget-s-d“\u search=value”>export.html
    作为初学者,并检查响应html.Hi@TravisClarke我尝试过,但不知怎的,我得到了相同的结果。没有亲身体验,我唯一的另一个建议是通过使用
    -v
    --trace-
    运行
    curl
    并检查标题数据进行诊断。e、 g.可能有一个重定向,后面跟着
    -L
    。。。在无数其他可能性中。附加一个跟踪文件,我/我们可以尝试进一步帮助您。cUrl的
    -d,--data
    选项在不指定请求方法的情况下,默认情况下将发送POST请求。您的表单似乎需要一个GET。我会尝试:
    curl-xget-s-d“\u search=value”>export.html
    作为初学者,并检查响应html.Hi@TravisClarke我尝试过,但不知怎的,我得到了相同的结果。没有亲身体验,我唯一的另一个建议是通过使用
    -v
    --trace-
    运行
    curl
    并检查标题数据进行诊断。e、 g.可能有一个重定向,后面跟着
    -L
    。。。在无数其他可能性中。附上跟踪文件,我/我们可以尝试进一步帮助您。