نمونه کدهای API واژه یاب
در مطالب قبل در مورد معرفی وب سرویس واژه یاب و همچنین مستندات وب سرویس واژه یاب صحبت کردیم در این مطلب در مورد نمونه کدهای وب سرویس واژه یاب توضیح میدهیم.
برای راهاندازی سریع، میتوانید از نمونه کدها استفاده نمایید. ارتباط با پایگاه داده به چند زبان محبوب برنامهنویسی نوشته شده است. بدیهی است که نمونه کدهای زیر به شکل ساده نوشته شده اند و توسعهدهنده بسته به نیاز خود میتواند آن را توسعه دهد.
jQuery
jQuery.ajax({
url: “http://api.vajehyab.com/v3/search”,
type: “GET”,
data: {
“token”: “YOUR_TOKEN”,
“q”: “سلام”,
“type”: “exact”,
“filter”: “dehkhoda,moein,amid”,
},
})
.done(function(data, textStatus, jqXHR) {
console.log(“HTTP Request Succeeded: ” + jqXHR.status);
console.log(data);
})
.fail(function(jqXHR, textStatus, errorThrown) {
console.log(“HTTP Request Failed”);
})
.always(function() {
/* … */
});
PHP
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, ‘http://api.vajehyab.com/v3/search?token=YOUR_TOKEN&q=%D8%B3%D9%84%D8%A7%D9%85&type=exact&filter=dehkhoda,moein,amid’);
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, ‘GET’);
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die(‘Error: “‘ . curl_error($ch) . ‘” – Code: ‘ . curl_errno($ch));
} else {
echo “Response HTTP Status Code : ” . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo “\nResponse HTTP Body : ” . $resp;
}
// Close request to clear up some resources
curl_close($ch);
PythonRuby
# Install the Python Requests library:
# pip install requests
import requests
def send_request():
try:
response = requests.get(
url=”http://api.vajehyab.com/v3/search”,
params={
“token”: “YOUR_TOKEN”,
“q”: “سلام”,
“type”: “exact”,
“filter”: “dehkhoda,moein,amid”,
},
)
print(‘Response HTTP Status Code: {status_code}’.format(
status_code=response.status_code))
print(‘Response HTTP Response Body: {content}’.format(
content=response.content))
except requests.exceptions.RequestException:
print(‘HTTP Request failed’)
Ruby
require ‘net/http’
def send_request
uri = URI(‘http://api.vajehyab.com/v3/search?token=YOUR_TOKEN&q=%D8%B3%D9%84%D8%A7%D9%85&type=exact&filter=dehkhoda,moein,amid’)
# Create client
http = Net::HTTP.new(uri.host, uri.port)
# Create Request
req = Net::HTTP::Get.new(uri)
# Fetch Request
res = http.request(req)
puts “Response HTTP Status Code: #{res.code}”
puts “Response HTTP Response Body: #{res.body}”
rescue StandardError => e
puts “HTTP Request failed (#{e.message})”
end
Nodejs
(function(callback) {
‘use strict’;
const httpTransport = require(‘http’);
const responseEncoding = ‘utf8’;
const httpOptions = {
hostname: ‘api.vajehyab.com’,
port: ’80’,
path: ‘/v3/search?token=YOUR_TOKEN&q=%D8%B3%D9%84%D8%A7%D9%85&type=exact&filter=dehkhoda,moein,amid’,
method: ‘GET’,
headers: {}
};
httpOptions.headers[‘User-Agent’] = ‘node ‘ + process.version;
const request = httpTransport.request(httpOptions, (res) => {
let responseBufs = [];
let responseStr = ”;
res.on(‘data’, (chunk) => {
if (Buffer.isBuffer(chunk)) {
responseBufs.push(chunk);
}
else {
responseStr = responseStr + chunk;
}
}).on(‘end’, () => {
responseStr = responseBufs.length > 0 ?
Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;
callback(null, res.statusCode, res.headers, responseStr);
});
})
.setTimeout(0)
.on(‘error’, (error) => {
callback(error);
});
request.write(“”)
request.end();
})((error, statusCode, headers, body) => {
console.log(‘ERROR:’, error);
console.log(‘STATUS:’, statusCode);
console.log(‘HEADERS:’, JSON.stringify(headers));
console.log(‘BODY:’, body);
});
افزونه مرورگرها
Go
package main
import (
“fmt”
“io/ioutil”
“net/http”
)
func sendRequest5() {
// Create client
client := &http.Client{}
// Create request
req, err := http.NewRequest(“GET”, “http://api.vajehyab.com/v3/search?token=YOUR_TOKEN&q=%D8%B3%D9%84%D8%A7%D9%85&type=exact&filter=dehkhoda,moein,amid”, nil)
parseFormErr := req.ParseForm()
if parseFormErr != nil {
fmt.Println(parseFormErr)
}
// Fetch Request
resp, err := client.Do(req)
if err != nil {
fmt.Println(“Failure : “, err)
}
// Read Response Body
respBody, _ := ioutil.ReadAll(resp.Body)
// Display Results
fmt.Println(“response Status : “, resp.Status)
fmt.Println(“response Headers : “, resp.Header)
fmt.Println(“response Body : “, string(respBody))
}
Swift
class MyRequestController {
func sendRequest() {
/* Configure session, choose between:
* defaultSessionConfiguration
* ephemeralSessionConfiguration
* backgroundSessionConfigurationWithIdentifier:
And set session-wide properties, such as: HTTPAdditionalHeaders,
HTTPCookieAcceptPolicy, requestCachePolicy or timeoutIntervalForRequest.
*/
let sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
/* Create session, and optionally set a NSURLSessionDelegate. */
let session = NSURLSession(configuration: sessionConfig, delegate: nil, delegateQueue: nil)
guard var URL = NSURL(string: “http://api.vajehyab.com/v3/search”) else {return}
let URLParams = [
“token”: “YOUR_TOKEN”,
“q”: “سلام”,
“type”: “exact”,
“filter”: “dehkhoda,moein,amid”,
]
URL = URL.URLByAppendingQueryParameters(URLParams)
let request = NSMutableURLRequest(URL: URL)
request.HTTPMethod = “GET”
/* Start a new Task */
let task = session.dataTaskWithRequest(request, completionHandler: { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
if (error == nil) {
// Success
let statusCode = (response as! NSHTTPURLResponse).statusCode
print(“URL Session Task Succeeded: HTTP \(statusCode)”)
}
else {
// Failure
print(“URL Session Task Failed: %@”, error!.localizedDescription);
}
})
task.resume()
session.finishTasksAndInvalidate()
}
}
protocol URLQueryParameterStringConvertible {
var queryParameters: String {get}
}
extension Dictionary : URLQueryParameterStringConvertible {
/**
This computed property returns a query parameters string from the given NSDictionary. For
example, if the input is @{@”day”:@”Tuesday”, @”month”:@”January”}, the output
string will be @”day=Tuesday&month=January”.
@return The computed parameters string.
*/
var queryParameters: String {
var parts: [String] = []
for (key, value) in self {
let part = NSString(format: “%@=%@”,
String(key).stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!,
String(value).stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)
parts.append(part as String)
}
return parts.joinWithSeparator(“&”)
}
}
extension NSURL {
/**
Creates a new URL by adding the given query parameters.
@param parametersDictionary The query parameter dictionary to add.
@return A new NSURL.
*/
func URLByAppendingQueryParameters(parametersDictionary : Dictionary) -> NSURL {
let URLString : NSString = NSString(format: “%@?%@”, self.absoluteString, parametersDictionary.queryParameters)
return NSURL(string: URLString as String)!
}
}
Java
import java.io.IOException;
import org.apache.http.client.fluent.*;
public class SendRequest
{
public static void main(String[] args) {
sendRequest();
}
private static void sendRequest() {
try {
// Create request
Content content = Request.Get(“http://api.vajehyab.com/v3/search?token=YOUR_TOKEN&q=%D8%B3%D9%84%D8%A7%D9%85&type=exact&filter=dehkhoda,moein,amid”)
// Fetch request and return content
.execute().returnContent();
// Print content
System.out.println(content);
}
catch (IOException e) { System.out.println(e); }
}
}
cURL
curl -X “GET” “http://api.vajehyab.com/v3/search?token=YOUR_TOKEN&q=%D8%B3%D9%84%D8%A7%D9%85&type=exact&filter=dehkhoda,moein,amid”
WordPress
$response = wp_remote_get( ‘http://api.vajehyab.com/v3/search?token=YOUR_TOKEN&q=%D8%B3%D9%84%D8%A7%D9%85&type=exact&filter=dehkhoda,moein,amid’ );
if ( ! is_wp_error( $response ) ) {
// The request went through successfully, check the response code against
// what we’re expecting
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
// Do something with the response
// $body = wp_remote_retrieve_body( $response );
// $headers = wp_remote_retrieve_headers( $response );
} else {
// The response code was not what we were expecting, record the message
$error_message = wp_remote_retrieve_response_message( $response );
}
} else {
// There was an error making the request
$error_message = $response->get_error_message();
}