php 如何将数据Get提交到其他的网站,而且不跳转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 如何将数据Get提交到其他的网站,而且不跳转相关的知识,希望对你有一定的参考价值。

最方便的方式是使用一个叫Snoopy的php 类.你可以自己去找个最新版的下载来用
例子:
include_once "./Snoopy.inc.php";
$URL = 'http://www.abc.com/app.php?var=value&a=aaa'; //这里就可以提交GET了.
$snoopy = new Snoopy();
$snoopy->fetch($URL); //获取GET后返回的内容.
echo $snoopy->results; //输出来看看.

Snoopy 类除了GET还有POST等HTTP方式.追问

那样会不会网页跳转到那网站去?

追答

不会的.它本质是用fopen打开目标主机然后根据http协议规则向目标主机的http 服务端口提交数据,然后获取目标主机响应的数据内容的.

参考技术A 直接用 curl_init 就行了 写一小段代码 给你个例子 改改就能测试

<?php
$ch = curl_init();

$str ='http://127.0.0.1/form.php?id=10';
curl_setopt($ch, CURLOPT_URL, $str);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec($ch);
var_dump( $output );
?>追问

我是做订单提交 , 在提交的时候 .. 直接把订单的一些信息发送到其他的网站 .. 在这基础上,页面不跳转 ,而且信息也发送过去了..curl_init()可以实现么?

追答

你把要提交的东西生成URL 然后就能过去了呗~ 你可以测试看看~ 很简单 跨域访问用到这种很多 复杂返回值都木有问题~

参考技术B 你的意思应该就是新窗口打开吧...
<form target="_blank" action=""></form>追问

不是 ,单纯的只把数据发送过去 ,我这边不做任何提示 .

追答

这样的话, 方法有2:
1, 用iframe隐藏提交, 点确定的时候, 将值全部传到隐藏的iframe里面, 然后iframe里面提交表单
2, 用ajax 用ajax需要用到 curl_init或者file_get_contents

具体的用法可以百度

=========

他们说的Snoopy,curl_init基础是用ajax, 不会用ajax, 什么都是浮云...

本回答被提问者采纳
参考技术C 用webserver就可以呀追问

关键是不会写 ..

追答

网上有开源你可以方便调用

如何向网站提交一个get 请求 ; 网站的方法接口然后返回一个对象?

// 如何跟网站get 一个请求?

// 方法是在 某个网站上 ; 本地可以模拟; 但是如何跟 某网站去提交这个请求呢 ; 然后返回一个对象 。

参考技术A 可使用Ajax请求,调用服务器接口,并接收返回数据。
PS:代码请不要直接复制粘贴使用,百度问答的编辑器貌似会在中间插入看不见的特殊字符,程序会报bug。

PHP代码:
<?php
$id = $_REQUEST["id"];
// 简略的测试数据

$item = array(
"id" => $id,
"title" => "测试",
"price" => "123"
);
echo json_encode($item); // 返回json对象
?>

发送Ajax请求(使用JQuery):
$.ajax(
"url" : "item.php", //接口URL
"type" : "post",
"dataType" : "json",
"data" :
"id" : 123456
,
success : function(data)
var htm = '';
htm += "ID:" + data.id + "<br />";
htm += "标题:" + data.title + "<br />";
htm += "价格:" + data.price + "<br />";
document.getElementById("result").innerHTML = htm;
,
error : function(xhr, textStatus, errorThrown)
console.log(data);

);

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试</title>
<script src="jquery-2.0.2.min.js"></script>
</head>
<body>
<div id="result"></div>
</body>
</html>

答案仅供参考,有问题请追问。追问

是不是我只要找到这个请求的URL地址,提交表单数据就可以了?对后台服务器这一块还不是很了解

追答

可以通过提交表单请求,也可以通过Ajax请求。只要服务器有开放接口给你调用,并且你传对参数就可以了。

追问

// 能不能打包一个文件 ; 我这边测试一下; 没接触过ajax ; 再给你加100分

追答

可以的,你在群里面的Q名是什么?

本回答被提问者和网友采纳

以上是关于php 如何将数据Get提交到其他的网站,而且不跳转的主要内容,如果未能解决你的问题,请参考以下文章

form提交不跳转

怎么实现php表单提交后不跳转

jsp 如何实现提交表单 但不跳转到提交页面

如何向网站提交一个get 请求 ; 网站的方法接口然后返回一个对象?

asp中如何使表单提交数据后不跳转到该页面?

如何将数据提交到另一个表单?