我正在尝试通过Jaunt sendPost()
方法发送POST请求。
为了测试我的请求,我为Firefox使用了一个不错的插件,所以我知道它们是有效的。
我使用与插件完全相同的Request Body和URL,但我仍然收到404错误。
这是错误日志。这里不需要代码。
Exception in thread "main" message: UserAgent.doPOST; response error
requestUrl: http://www.urlgoesinhere.com/shop
response:
requestURL: http://www.urlgoesinhere.com/shop [posting commit=add+to+basket&size=41864&style=20263]
cached: false
status: 404
message: <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />
<title>Supreme</title>
<meta content="Hello there" name="description" />
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="telephone=no" name="format-detection" />
<meta content="on" http-equiv="cleartype" />
<meta http-equiv="refresh" content="0;url=/" />
<link href="//d17oldwd63kd3.cloudfront.net/assets/application-6a6525f1acf65b7949c97c3a7.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body class="home">
<header id="header">
<hgroup>
<h1 class="logo">Aldo</h1>
</hgroup>
</header>
<div id="wrap" class="wrap-404">
<p>This page cannot be found</p>
</div>
</body>
</html>
responseHeaders:
server: nginx
date: Sat, 23 Dec 2017 17:25:09 GMT
content-type: text/html; charset=utf-8
content-length: 829
connection: keep-alive
status: 404 Not Found
x-request-id: 36a5b780-d160-45c3-b0ad-83f4ff35f519
x-runtime: 0.003306
accept-ranges: bytes
x-varnish: 1432272046
age: 0
via: 1.1 varnish
cache-control: private, max-age=0, must-revalidate
pragma: no-cache
x-cache: MISS
我注意到的一个奇怪的事情是请求实际上被发送到不同的URL(url.com/shop)而不是我明确写的(url.com/shop/123123/add)(页面重定向到url.com/shop尽管如此,这可能是正常的。)
发生了什么事?感谢。
此外,将这样的请求发送到“知名”网站是否安全?他们可以检测请求是由代码还是由用户做出的?有没有办法绕过这种检测? (这是可选的,但如果你知道,请回复)