WordPress Notları

WordPress Haberleri,İpuçları,Eklentileri,Temaları ve dahası

  • Haberler
  • İpuçları
  • Nasıl Yapılır
  • Eklentiler
  • Temalar
  • Multisite
  • Güvenlik

13 Ağustos 2013 tarihinde Mustafa Uysal yazdı Yorum yapın

WordPress HTTP API

http_api

HTTP API harici bir kaynak ile etkileşim (POST,GET) kurmamız gereken durumlarda işimizi kolaylaştıran bir api’dir . Farklı kaynak demişken tabii ki verileri cURL ile yada file_get_contents ile alabilirsiniz ancak sunucu tabanlı bağımlılığı azaltmak için WordPress HTTP API kullanmamız daha faydalı olacaktır.

Şimdi gelelim işlerin büyük bir kısmını halledebileceğimiz metodlara, (tüm listeyi buradan görebilirsiniz)

wp_remote_get()

Kaynaktan veri çekmeye sağlar, gelen cevapta header ve content değerleri bulunur.

//zorunlu olarak kayak url belirtilmelidir
$data = wp_remote_get( "http://wphandle.com");

// opsiyonel olarak $arg kullanabilirsiniz.
$data = wp_remote_get( $url,
        array(
             'timeout' => 120,
             'httpversion' => '1.1',
             'sslverify' => false )
        );

//sayfanın çıktısı için
if ( $data['response']['code'] == 200  ) { // http durum kodunu kontrol et
     $result = $data["body"];
}
// eğer geçerli bir veri dönmezse WP_ERROR objesi döner.

Ayrıca bkz: codex

wp_remote_post()

Adından da anlaşıldığı üzere uzak sunucuya veri göndermeye yarar.

Örnek olarak yandex metrica eklentisinde kullandığım oauth doğrulama fonksiyonunu ele alacağım.

/**
 * kodu okumadan önce uygun parametlerelerin
 * yandex server'ına gönderilmesi sonucunda json veri döndürüldüğünü bilmeniz yeterlidir.
 */
public function connect_oauth_server( $confirmation_code ) {
        // gerekli parametreler
        $param = 'grant_type=authorization_code&code='.$confirmation_code.'&client_id='.$this->app_id.'&client_secret='.$this->app_secret.'';
        $url = "https://oauth.yandex.com/token";

        //header'da göndereceklerimiz
        $header = array(
            'POST /token HTTP/1.1',
            'Host: oauth.yandex.com',
            'Content-type:  application/json',
            'Content-Length: ' . strlen( $param ),
        );

        $data = wp_remote_post( $url, array(
                'method' => 'POST',
                'timeout' => 45,
                'httpversion' => '1.1',
                'header' => $header,
                'body' => $param,
                'sslverify' => false
            )
        );

        $http_code = $data["response"]["code"];
        // http durumu kontrolü
        if ( ( $http_code != '200' ) && ( $http_code != '400' ) ) {
            $this->error = $http_code;
            return false;
        }

        // json veriyi $result array'ına atadık.
        $result = json_decode( $data["body"], true );

        if ( empty( $result['error'] ) ) {  // hata mesajı kontrolü
            $this->access_token = $result['access_token'];
            return true;
        } else {
            $this->error = $result['error'];
            return false;
        }

    }

ilkine göre örnek biraz uzun oldu, meraklısına codex

HTTP API ref.

Bunu paylaş:

  • Tweet
  • Daha fazla
  • Tumblr' da Paylaş
  • E-posta

İlgili

Kategori:İpuçları, Nasıl Yapılır Etiketler: http api, wordpress api, wordpress get, wordpress http, wordpress http api, wordpress post, wordpress uzak sunucu

Hakkımda Mustafa Uysal

WPNotları'nın kurucu editörü. WordPress üzerine yazar, çizer arada katkı yapar.

Bir cevap yazın Cevabı iptal et

Lütfen gerçek bilgilerinizi kullanın. Herhangi bir site adı ile yazılan yorumlar onaylanmayacaktır!

Popüler Yazılar & Sayfalar

  • WordPress Multisite Kurulumu
    WordPress Multisite Kurulumu
  • WordPress Temalara Menü Desteği
    WordPress Temalara Menü Desteği
  • JavaScript Dosyalarınız İçin Ücretsiz CDN
    JavaScript Dosyalarınız İçin Ücretsiz CDN
  • Contact Form 7 İle SMTP E-Posta Gönderme
    Contact Form 7 İle SMTP E-Posta Gönderme
  • WordPress REST API Özelliğini Kapatmak
    WordPress REST API Özelliğini Kapatmak

Bloga e-posta ile abone ol

Bu bloga abone olmak ve e-posta ile bildirimler almak için e-posta adresinizi girin.

Blogroll

  • HandyPlugins
  • Powered Cache
  • WPHandle
  • Hakkımızda
  • İletişmeyin!
  • Bülten Gönder
  • Site Haritası
  • Gizlilik Politikası

© 2023 - WPNotlari

Bu internet sitesinde, kullanıcı deneyimini geliştirmek ve internet sitesinin verimli çalışmasını sağlamak amacıyla çerezler kullanılmaktadır. TamamGizlilik politikası