PHP - CURL已启用但无法正常工作

时间:2015-11-30 07:41:03

标签: php curl

我试图在cURL中使用PHP从外部网站获取数据,但不知何故,它无效。

我已在CURL检查phpinfo()启用了cURL。它显示<?php if (! function_exists ( 'curl_version' )) { exit ( "Enable cURL in PHP" ); } $ch = curl_init (); $timeout = 0; // 100; // set to zero for no timeout $myHITurl = "http://www.google.com"; curl_setopt ( $ch, CURLOPT_URL, $myHITurl ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, $timeout ); $file_contents = curl_exec ( $ch ); if (curl_errno ( $ch )) { echo curl_error ( $ch ); curl_close ( $ch ); exit (); } curl_close ( $ch ); // dump output of api if you want during test echo "$file_contents"; ?> 已启用cURL is enabled

但是,我的代码无效。

  using MvcApplication1.Models;
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Web.Mvc;
 using System.Web.Security;

 namespace MvcApplication1.Controllers
 {
 public class LoginController : Controller
{
    //
    // GET: /Login/

    public ActionResult Index()
    {
        return View();
    }
    public ActionResult Login()
    {
        return View();
    }

    public JsonResult UserLogin(Customer  d)
    {
        using (CustomerDataEntities oe = new CustomerDataEntities())
        {
            var user = oe.Customers.Where(a => a.UserName.Equals(d.UserName) && a.Password.Equals(d.Password)).FirstOrDefault();
            return new JsonResult { Data = user, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
        }

    }

}

发布超时。
Connection Timeout 我没有使用WAMP或XAMPP服务器。以上代码直接在服务器上运行。 我不知道出了什么问题。谢谢高级。

2 个答案:

答案 0 :(得分:7)

您的代码非常完美,我已经在自己的服务器(德克萨斯州的数据中心)上进行了测试,并且运行正常。

我的猜测是你的服务器IP被禁止了。尝试获取不同的URL,看看它是否适合您。如果确实如此,那么您将被禁止,如果没有,那么它可能是您服务器中的防火墙配置问题。

答案 1 :(得分:0)

如果您使用的是Centos或Fedora或任何Redhat Distro,请禁用SELinux

nano /etc/selinux/config

更改

SELINUX=enforcing

SELINUX=disabled