更正 cURL 的代码

Posted

技术标签:

【中文标题】更正 cURL 的代码【英文标题】:Correction In Code For cURL 【发布时间】:2016-04-01 01:07:22 【问题描述】:

我想在我的网站上提供“一个网站上的服务”。 所以我决定使用 cURL(在我尝试使用 iframe 之前,但它不值得,因为该网站有广告,我想要特定部分等)所以基本上我想要来自该远程站点的特定标签(而不是 div)在我网站的网页上。我搜索了很多,因为我不知道 php,发现 cURL 用于做我想做的事。谷歌搜索后,我制作了这个简单的脚本

    <?php
    $curl = curl_init();
    curl_setopt ($curl, CURLOPT_URL, "http://www.autogeneratelink.com/");
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec ($curl);
    curl_close ($curl);
echo "$output";
?>

由于我不知道 php,我只能做这么多,所以基本上这段代码所做的就是在我的网页上显示整个网站,但我想要特定部分(此标签之间的事物 &lt;form method="POST" action=""&gt;&lt;/form&gt;

我还尝试在我的网页中输入一个值并单击“生成”按钮,但它没有执行任何操作。它只是刷新页面。

请帮我解决这个问题,我希望 Button 能够正常工作,并且仅在该标签之间显示内容。

谢谢大家的帮助..

【问题讨论】:

是否有特殊原因将每个单词都大写以使您的问题不可读? 请使用正确的语法。 @gadhvi,在检索到标记后,研究使用 PHP 的 DOM 处理器来提取您需要的内容。 @Rasclatt 正如我所说的,我不知道 php 你能帮我解决这个问题吗? 【参考方案1】:

你可以在curl的结果上运行preg_match来获取你想要的html

<?php
  $curl = curl_init();
  curl_setopt ($curl, CURLOPT_URL, "http://www.autogeneratelink.com/");
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  $html = curl_exec ($curl);
  curl_close ($curl);
  preg_match('/<form method="POST" action="">.*<\/form>/s', $html, $matches);
  $form = $matches[0];
?>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <link href="http://www.autogeneratelink.com/css/bootstrap.min.css" rel="stylesheet">
  <link href="http://www.autogeneratelink.com/css/autogl.css" rel="stylesheet">
  <style>
    button#submit
      background-color: yellow;
    
  </style>
</head>
<body>
  <h1>My Awesome Page</h1>
  <p>Hello!</p>
  <?php echo $form ?>
  <p>Bye!</p>
</body>
</html>

但是,该表单由the following script 提供支持,它向您无法控制的域上的 PHP 脚本发出 Ajax 请求。您将受到跨域政策的打击,您的表单将无法正常工作。据我所知,没有办法解决这个问题。对不起!

此外,此时,您还应该开始考虑您正在做的事情(即偷窃)的道德规范。

【讨论】:

先生,我已经要求管理员做我想做的事,而且我还发现一个网站正在做我想做的事。所以我认为提交按钮会起作用应该有一些东西.... PLs。帮助我了解生成按钮 到另一个站点的 URL : (torrent.digitalmaza.net/directlink/) 你可以对那个站点做同样的事情,但是通过查看源代码可以看到,没有为表单定义操作:&lt;form name="f1" action="" method="post"&gt; 这意味着你必须找到支持表单的 javascript 并包含它(希望它不会发出任何 Ajax 请求)。 先生,我是说Secont Url(Digitalmaza)正在使用curl从autogeneratelinks获取数据我的意思是Digitalmaza正在做我所要求的......使用curl废弃自动生成链接 那么您能告诉我如何更改卷曲内容的外观吗?正如Digitmalmaza所做的那样??我的意思是我希望它看起来如我所愿??

以上是关于更正 cURL 的代码的主要内容,如果未能解决你的问题,请参考以下文章

jQuery:链接事件 - 代码更正

这段代码中的错误/错误是啥 c++ 告诉我更正?

C# 更正来自 C++ 的托管代码

如何更正 Shiro 注销代码(执行注销后用户仍然可以访问页面)?

如何使用 Spring 异常处理 POST REST 更正错误状态代码

线性搜索代码显示我的项目不存在。请帮助我进行更正