第三方服务向服务器发出原始xml字符串的发布请求,以便对其进行处理。但是,它没有被处理。如何配置为接受原始xml字符串?
该php网站最近已从其他提供商迁移到托管在BlueHost上。以前在哪里托管,它能够处理xml。自从迁移到BlueHost以来,它不起作用。我将代码略微更改为通过电子邮件发送,如果到达那里只是为了查看是否成功,事实并非如此。我检查了访问日志,我唯一能说的是,在第三方发出请求时,它看起来像是406错误。如果有任何服务器配置,我无法联系旧提供商。
应该发生的事情是,当第三方通过xml时,它会通过电子邮件发送一个副本并将一个条目插入到数据表中。到目前为止,它似乎并未这样做。
所以我不确定可能是什么问题以及从哪里开始寻找。任何帮助将不胜感激。
更新:
下面的代码验证IP是否有效,如果有效,则应处理XML字符串。我从第三方获得了所有IP地址,因此没有中断。如果它访问了此页面,我将代码添加到通过电子邮件发送给我。到目前为止,还没有收到任何电子邮件。
ArrayList<ModelSingleHotTrendingNews> modelSingleHotTrendingNews = new ArrayList<>();
Bundle bundle = getIntent().getExtras();
if(bundle!=null {
modelSingleHotTrendingNews = ArrayList<ModelSingleHotTrendingNews>) bundle.getSerializable("MoreNews");
}
当第三方试图发出请求时,我在BlueHost提供的访问日志中发现了这一点:
require_once "loader.php";
// Initiate Parse
$Feed = new FeedParser();
$Job = new Job();
$IP = $_SERVER['REMOTE_ADDR'];
// Initiate Job Model
if($Job->verifyIP($IP) == false){
$headers = "From: webapp@certainplace.com\r\n";
mail('someemail@somewhere.com', 'Failed', 'The following ip failed: '.$IP, $headers);
die("Your IP address is not white listed. please contact system adminstrator.");
}else{
$headers = "From: webapp@certainplace.com\r\n";
mail('someemail@somewhere.com', 'Here', 'Made it here', $headers);
}
// Capture XML By Key
$xml = file_get_contents('php://input');
if($xml != '') {
$headers = "From: webapp@certainplace.com\r\n";
$options = "-fwebapp@certainplace.com";
mail('someemail@somewhere.com', 'XML Code', $xml, $headers, $options);
$Job->addXML($xml);
}
因此,似乎有些事情正在发生,但服务器似乎正在阻止该请求。