捕获和转换Web的工具

如何发布到表单并截图结果?

要发布到表单,您必须首先获取要发布的表单的 URL。 为此,请通过查看网页源来获取表单 HTML,该网页可能如下所示。

<form action="http://www.example.com/login.php" method="post">
   <div class="FormRow">
      <label>Username</label>
      <input type="text" name="username" data-gt-translate-attributes='[{"attribute":"value","format":"json"}]' value="">
   </div>
   <div class="FormRow">
      <label>Password</label>
      <input type="password" name="password" data-gt-translate-attributes='[{"attribute":"value","format":"json"}]' value="">
   </div>
   <input type="submit" class="submit" data-gt-translate-attributes='[{"attribute":"value","format":"json"}]' value="Login">
</form>

获得表单 URL 后,您需要指定每个表单输入的名称和值,这样帖子就不会被目标网站拒绝。 下面显示了一个示例。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.AddPostParameter("username", "bob");
options.AddPostParameter("password", "pass");

grabzIt.URLToImage("http://www.example.com/login.php", options);
grabzIt.Save("http://www.mywebsite.com/handler.ashx");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

ImageOptions options = new ImageOptions();
options.AddPostParameter("username", "bob");
options.AddPostParameter("password", "pass");

grabzIt.URLToImage("http://www.example.com/login.php", options);
grabzIt.Save("http://www.mywebsite.com/handler");
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.5.2/grabzit.min.js"></script>
<script>
GrabzIt("Sign in to view your Application Key").AddPostVariable("username", "bob").AddPostVariable("password", "pass")
.ConvertURL("http://www.example.com/login.php").Create();
</script>

在 node.js 中指定 post 数据时,必须对每个 post 变量的名称和值进行 URL 编码。

var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");

client.url_to_image("http://www.example.com/login.php", {"postData":"username=bob&password=pass"});
client.save("http://www.example.com/handler", function (error, id){
    if (error != null){
        throw error;
    }
}); 	
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");

$options = GrabzItImageOptions->new();
$options->AddPostParameter("username", "bob");
$options->AddPostParameter("password", "pass");

$grabzIt->URLToImage("http://www.example.com/login.php", $options);
$grabzIt->Save("http://www.mywebsite.com/handler.pl");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

$options = new \GrabzIt\GrabzItImageOptions();
$options->AddPostParameter("username", "bob");
$options->AddPostParameter("password", "pass");

$grabzIt->URLToImage("http://www.example.com/login.php", $options);
$grabzIt->Save("http://www.mywebsite.com/handler.php");
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.AddPostParameter("username", "bob");
options.AddPostParameter("password", "pass");

grabzIt.URLToImage("http://www.example.com/login.php", options)
grabzIt.Save("http://www.mywebsite.com/handler.py")

请记住,提出请求时请确保 所有 参数值是 URL 编码的。 请注意,每个 POST 名称和值也必须首先进行 URL 编码。

https://api.grabz.it/services/convert?key=Sign in to view your Application Key&post=username%3Dbob%26password%3Dpass&format=jpg&url=http%3A%2F%2Fwww.example.com%2Flogin.php
grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.add_post_parameter("username", "bob");
options.add_post_parameter("password", "pass");

grabzIt.url_to_image("http://www.example.com/login.php", options)
grabzIt.save("http://www.mywebsite.com/handler/index")