lostyazilim
tr.link

curl sayfa ulaşılamıyor hatası

8 Mesajlar 914 Okunma
lstbozum
tr.link

kadimefendi kadimefendi WM Aracı Kullanıcı
  • Üyelik 11.06.2015
  • Yaş/Cinsiyet 47 / E
  • Meslek programcı
  • Konum İstanbul Avrupa
  • Ad Soyad B** K**
  • Mesajlar 5
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
slm arkadaşlar curl ile siteden veri çekmek istediğimde siteye ulaşılamıyor diye hata vermektedir. kullanmış olduğum php kodu aşağıdaki gibidir yardımcı olabilecek arkadaşlara şimdiden teşekkürler
çekmeye çalıştığım site https://adres.nvi.gov.tr/VatandasIslemleri/AdresSorgu


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://adres.nvi.gov.tr/Harita/ilceListesi");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "ilKimlikNo=6");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$sonuc = curl_exec($ch);
curl_close($ch);
echo $sonuc;
 

 

wmaraci
reklam

kaanst kaanst Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 28.02.2018
  • Yaş/Cinsiyet 28 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad K** S**
  • Mesajlar 669
  • Beğeniler 435 / 160
  • Ticaret 31, (%94)
Resmî devlet sitesinden veri çekmeye çalışıyorsunuz onların bu tür şeylere karşı önlemleri olmalı.
 

 

FOMOCO FOMOCO WM Aracı Kullanıcı
  • Üyelik 10.11.2011
  • Yaş/Cinsiyet 41 / E
  • Meslek Nakliyat
  • Konum
  • Ad Soyad C** A**
  • Mesajlar 417
  • Beğeniler 184 / 76
  • Ticaret 1, (%100)
header bilgilerini de göndererek deneyin
 

 

TeknoMonster TeknoMonster WM Aracı Kullanıcı
  • Üyelik 07.11.2016
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad I** T**
  • Mesajlar 240
  • Beğeniler 42 / 52
  • Ticaret 22, (%100)
Hocam sitede ssl var normal curl istegi ulasmaz

Bud kodu ekleyin

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false)

Bu kod sitedeki ssl onayini kaldirir ve ulasa bilirsiniz.
 

 

wmaraci
wmaraci

kadimefendi kadimefendi WM Aracı Kullanıcı
  • Üyelik 11.06.2015
  • Yaş/Cinsiyet 47 / E
  • Meslek programcı
  • Konum İstanbul Avrupa
  • Ad Soyad B** K**
  • Mesajlar 5
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false)

ekledim hata almaya devam ediyorum
 

 

kadimefendi kadimefendi WM Aracı Kullanıcı
  • Üyelik 11.06.2015
  • Yaş/Cinsiyet 47 / E
  • Meslek programcı
  • Konum İstanbul Avrupa
  • Ad Soyad B** K**
  • Mesajlar 5
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)

FOMOCO adlı üyeden alıntı

header bilgilerini de göndererek deneyin


header nasıl ekleyebilirim
 

 

ASametYildirim ASametYildirim Saygı, Sevgi, Anlayış. Kullanıcı
  • Üyelik 16.06.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Bilgisayar mühendisi öğrencisi
  • Konum Ankara
  • Ad Soyad S** Y**
  • Mesajlar 3826
  • Beğeniler 2399 / 1874
  • Ticaret 97, (%100)

kadimefendi adlı üyeden alıntı

header nasıl ekleyebilirim

Büyük ihtimalle header bilgileri eklerseniz sorun düzelecektir.

Bana bu konuda bu sayfa baya fayda sağladı. Fonksiyon ile yazılmış kodu kendinize göre düzenleyip deneyebilirsiniz.
https://stackoverflow.com/questions/8115683/php-curl-custom-headers

Fonksiyon

/**
*
* @param string $url
* @param string|array $post_fields
* @param array $headers
* @return type
*/
function cUrlGetData($url, $post_fields = null, $headers = null) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
if ($post_fields && !empty($post_fields)) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
}
if ($headers && !empty($headers)) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
return $data;
}


Kullanım örneği:

$url = "http://www.myurl.com";
$post_fields = 'postvars=val1&postvars2=val2';
$headers = ['Content-Type' => 'application/x-www-form-urlencoded', 'charset' => 'utf-8'];
$dat = cUrlGetData($url, $post_fields, $headers);


Fonksiyonla uğraşmak istemezsen bunu da deneyebilirsin:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.example.com/process.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$vars); //Post Fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$headers = [
'X-Apple-Tz: 0',
'X-Apple-Store-Front: 143444,12',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Encoding: gzip, deflate',
'Accept-Language: en-US,en;q=0.5',
'Cache-Control: no-cache',
'Content-Type: application/x-www-form-urlencoded; charset=utf-8',
'Host:www.example.com ',
'Referer: http://www.example.com/index.php ', //Your referrer address
'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:28.0) Gecko/20100101 Firefox/28.0',
'X-MicrosoftAjax: Delta=true'
];

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$server_output = curl_exec ($ch);

curl_close ($ch);

print $server_output ;
 

 

kadimefendi kadimefendi WM Aracı Kullanıcı
  • Üyelik 11.06.2015
  • Yaş/Cinsiyet 47 / E
  • Meslek programcı
  • Konum İstanbul Avrupa
  • Ad Soyad B** K**
  • Mesajlar 5
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
teşekkürler verdigin header örneği ile çalışır hale getirdim .
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al