小编7us*_*sam的帖子

如何使用cURL获取页面内容?

我想使用curl 抓取此Google搜索结果页面的内容.我一直在尝试设置不同的用户代理,并设置其他选项,但我似乎无法获取该页面的内容,因为我经常被重定向或我得到"页面移动"错误.

我相信它与查询字符串在某处被编码的事实有关,但我真的不确定如何解决这个问题.

    //$url is the same as the link above
    $ch = curl_init();
    $user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0'
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
    curl_setopt ($ch, CURLOPT_HEADER, 0);
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch,CURLOPT_CONNECTTIMEOUT,120);
    curl_setopt ($ch,CURLOPT_TIMEOUT,120);
    curl_setopt ($ch,CURLOPT_MAXREDIRS,10);
    curl_setopt ($ch,CURLOPT_COOKIEFILE,"cookie.txt");
    curl_setopt ($ch,CURLOPT_COOKIEJAR,"cookie.txt");
    echo curl_exec ($ch);
Run Code Online (Sandbox Code Playgroud)

我需要做些什么来让我的PHP代码显示页面的确切内容,就像我在浏览器上看到的那样?我错过了什么?有人能指出我正确的方向吗?

我在SO上看过类似的问题,但没有一个答案可以帮助我.

编辑:

我尝试使用Selenium WebDriver打开链接,它提供与cURL相同的结果.我仍然认为这与查询字符串中有特殊字符的事实有关,这些特征字符在进程中的某处被搞砸了.

php curl

38
推荐指数
3
解决办法
14万
查看次数

(iOS)脱机同步数据库 - 服务器

尝试实现一个应用程序,在连接到Internet时将存储在本地数据库中的脱机数据发送到Web服务器.我使用下面显示的代码.到目前为止,我测试它工作正常,不确定它将适用于大量的记录.我想知道是否对此代码进行任何调整可能会提高性能???

注意

  • 我知道这对于离线同步目的来说是最差的代码,所以试着更好地调整它.
  • 从app到服务器的单向同步.

    -(void)FormatAnswersInJSON {
    
      DMInternetReachability *checkInternet = [[DMInternetReachability alloc] init];
      if ([checkInternet isInternetReachable]) {
         if ([checkInternet isHostReachable:@"www.apple.com"]) {//Change to domain
            responseArray = [[NSMutableArray alloc] init];
    
            dispatch_async(backgroundQueue, ^(void) {
    
                NSArray *auditIDArray = [[NSArray alloc] initWithArray: [self getUnuploadedIDs]];
                for (int temp = 0; temp < [auditIDArray count]; temp ++) {
    
                    // Code to post JSON to server
    
                    NSURLResponse *response;
                    NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
                    if (!error) {
                        NSString *responseID = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
                        if ([responseID isEqualToString:@"ERROR"]) {
                            //Error uploading records …
    Run Code Online (Sandbox Code Playgroud)

sqlite synchronization objective-c ios

8
推荐指数
1
解决办法
1587
查看次数

获取半径范围内的附近街道地址

我想检索一个地理点上小范围内所有街道地址的列表.

使用的场景是用户从当前位置的地址列表(在50米内)中选择他/她的当前地址,因为位置检索不够准确.

我想知道是否可以使用Google Maps API?否则,是否有人知道我可以用于此目的的替代API?

从我所看到的情况来看,虽然Google地图反向地理编码服务为地理点返回了许多"地址",但它们通常只是地址的不同表示,而不是地址附近的地址.

我在SO上看过一些类似的问题,但没有人能找到我想要的答案.

api location reverse-geocoding street-address

5
推荐指数
1
解决办法
6495
查看次数