有没有办法通过按钮触发onClick事件并使用cURL PHP或任何其他方法获取结果?
<button class="yt-uix-button yt-uix-button-size-small yt-uix-buttondefault business-email-button" type="button" onclick=";return false;">
<span class="yt-uix-button-content">View email address</span>
</button>
答案 0 :(得分:0)
您不能直接使用CURL模拟点击。当您单击按钮时,您必须使用Chrome DevTools等工具分析发送到服务器的请求(HTTP标头)。您可以像this一样使用它。
一旦您知道请求URL和参数(如果存在),您就可以构建一个CURL请求并获得如下响应:
$ch = curl_init();
// params example
$post = [
'username' => 'user1',
'password' => 'pass1'
];
// Request URL
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
// server response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_response = curl_exec ($ch);
curl_close ($ch);
答案 1 :(得分:0)
是的,有几种方法可以做到这一点。首先查看CURL方法发布在这里。 http://hayageek.com/php-curl-post-get/
然后你必须使用Ajax创建脚本或jQuery for button onClick,我将在下面发布两个jQuery和Javascript示例。
使用PHP1)首先将其保存为HTML文件
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#name").click(function(event){
$.post("jQueryPost.php",
{name: "Miguel", surename: "Makonnen"},
function(data) {
$('#result').html(data);}
);
});
});
</script>
<div id="result">
</div>
<input type="button" id="name" value="Check Name" />
2)然后将其保存为远程PHP文件,并将其命名为 jQueryPost.php
<?php
if($_POST["name"]) {
$NAME = $_POST['name'];
$SURENAME = $_POST['surename'];
echo "Name ".$NAME."<BR>";
echo "Surname: ".$SURENAME."<BR>";
}
?>
使用“onClick”上面的脚本将向远程PHP文件发送带有Name + Surename的POST请求。远程PHP文件将处理请求并将其作为回调发送到您的HTML文件。您可以将PHP的内容更改为您想要的任何内容。
使用PHP1)首先将其作为HTML文件。
<script type="text/javascript">
function XmlHttp_Request() {
var xmlHttp = null;
if(window.XMLHttpRequest) { // Firefox, IE7+, Opera Support
xmlHttp = new XMLHttpRequest();
}
else if(window.ActiveXObject) { // fInternet Explorer 5, 6 Support
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlHttp;
}
// Post Ajax Data
function ajaxPost(Filename, Finalise) {
var request = XmlHttp_Request();
// Post Parameters
var postData = 'name='+document.getElementById('myname').innerHTML;
request.open("POST", Filename, true); // Our Post tRequest
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send(postData); // Post Data
// Check request status
request.onreadystatechange = function() {
if (request.readyState == 4) {
document.getElementById(Finalise).innerHTML = request.responseText;
}
}
}
</script>
<button onclick="ajaxPost('ajaxPost.php', 'finalise')">Check Name</button>
<div id="myname"></div>
<div id="finalise"></div>
2)然后将其保存为名为 ajaxPost.php 的远程PHP文件。
<?php
if (isset($_POST['name'])) {
echo "Name: Miguel <BR>";
echo "Surname: Makonnen";
}
?>
这将只是在Button Click上从远程PHP文件发送一个基于Ajax请求的响应,其中包含Name + Surname。就像我提到的那样,您可以使用Curl脚本更改PHP的内容。它不应该那么难。祝你好运