我正在尝试设置一个简单的小甜饼。此cookie很重要,因为它会更改网页的结构(如果为1,则所有页面都具有相同的结构,因此抓取更容易,否则它们都具有不同的元素。
据我所知,没有简单的方法来设置带有cookie的Cookie,但是您可以使用protocol-httpclient进行身份验证,我认为这可以解决我的问题。
有一个带有Form的页面,该页面将请求发送到服务器并设置此cookie,因此我在httpclient-auth.xml中尝试了以下配置
<%= form_tag(products_path, method: :get) do %>
Search Field <%= text_field_tag :q %>
<br>
<%= submit_tag 'First controller' #triggers the default action %>
<%= submit_tag 'Second Controller', formaction: another_path %>
<% end %>
第一个问题,我不确定<auth-configuration>
<credentials authMethod="formAuth"
loginUrl="https://example.com"
loginFormId="myFormName"
loginRedirect="true">
<loginPostData>
<field name="myField"
value="on"/>
</loginPostData>
<additionalPostHeaders>
<field name="User-Agent"
value="Mozilla/5.0 ... Firefox/35.0" />
</additionalPostHeaders>
<loginCookie>
<policy>BROWSER_COMPATIBILITY</policy>
</loginCookie>
</credentials>
</auth-configuration>
是页面的形式还是将在其上发出请求的URL。
第二个问题是该表单仅包含loginUrl
而不是name
,如果我使用id
,则会收到以下错误loginFormId="myFormName"
,应该使用{{ 1}}?
第三个问题,输入标签为No form exists: myFormName
,有问题吗?