Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ขอปรึกษาครับ เราจะ ใช้ url ไป call api มาได้อย่างไรหรอครับ ถามแบบคนไม่รู้เลยและไม่ถนัดโค้ดครับ



 

ขอปรึกษาครับ เราจะ ใช้ url ไป call api มาได้อย่างไรหรอครับ ถามแบบคนไม่รู้เลยและไม่ถนัดโค้ดครับ

 



Topic : 136339



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์




Quote:
ขอปรึกษาครับ เราจะ ใช้ url ไป call api มาได้อย่างไรหรอครับ ถามแบบคนไม่รู้เลยและไม่ถนัดโค้ดครับ

ข้อมูลที่มีมาให้แล้ว คือ
1. url เขามีให้ (ซึ่งเราเข้าไปที่ url แต่ซึ่งเข้าไม่ให้ user,pass ให้ โดยเขาให้เราใช้แค่ url เพื่อไป call api ตรงส่วนนี้อยากทราบว่าต้องทำยังไงหรอครับ)

2. token เข้ามีให้ครับ

รูปแบบเขียนโค้ดเขียนยังไง ที่เริ่มใช้ python ครับ ตอนนี้ยังไม่รู้จะเขียนโค้ดยังไง และ ใช้ url ไป call api ผมยังไม่เคยทำมาก่อนครับ ไม่รู้ว่าต้องทำยังไงครับ ขอบพระคุณครับ




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-08-17 11:42:03 By : chawin1 View : 1472 Reply : 20
 

 

No. 1



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
$response = file_get_contents('https://api_url');
$response = json_decode($response);


หรือใช้ cURL

หรือดูใน POSTMAN






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 12:56:31 By : TheGreatGod_of_Death
 


 

No. 2



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-17 12:56:31
รายละเอียดของการตอบ ::
ถ้าเป็น python ทำแบบไหนครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 13:07:18 By : chawin1
 

 

No. 3



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


Code
pip install requests


Code
import requests response = requests.get("https://api_url") print(response.json())

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 13:29:49 By : TheGreatGod_of_Death
 


 

No. 4



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-17 13:29:49
รายละเอียดของการตอบ ::
Quote:
ขอบคุณครับ
ที่พี่แนะนำมา เข้าใจครับ ทั้ง php และ python

ถ้าแบบนี้ ใช้URL เพื่อไป call api มา
test 3 อย่าง
-create
-get
-delete

ผมจะไปต่อยังไงดีครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 14:35:20 By : chawin1
 


 

No. 5



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : chawin1 เมื่อวันที่ 2021-08-17 14:35:20
รายละเอียดของการตอบ ::
จะเอาไปทำอะไรก็อ้างอิงตาม object ครับ
แล้วจะทำอะไรต่อไปกับข้อมูลที่รับมา

json() method จะได้ dictionary
https://www.w3schools.com/python/python_dictionaries.asp

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 14:48:47 By : TheGreatGod_of_Death
 


 

No. 6



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-17 14:48:47
รายละเอียดของการตอบ ::
Quote:
ครับผม https://www.w3schools.com/python/python_dictionaries.asp ตรง -create, get, delete อยู่หัวข้อไหนครับ หาไม่เจอครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 15:07:30 By : chawin1
 


 

No. 7



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ตกลงคุณจะทำอะไร
อะไรคือ create, get, delete หมายถึง db?
ถ้าใช่ก็ต้องบอกยี่ห้อด้วยเพราะแต่ละตัวไม่เหมือนกัน
แต่ถ้าไม่...กรุณาอธิบายเพิ่มเติ่ม สิ่งที่ต้องการรู้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 15:28:40 By : TheGreatGod_of_Death
 


 

No. 8



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าหมายถึง CRUD ผ่าน https
crud

Code
requests.post('https://api.org/post', data={'key':'value'}) requests.put('https://api.org/put', data={'key':'value'}) requests.delete('https://api.org/delete') requests.head('https://api.org/get') requests.patch('https://api.org/patch', data={'key':'value'}) requests.options('https://api.org/get')


https://docs.python-requests.org/en/master/
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 16:01:54 By : TheGreatGod_of_Death
 


 

No. 9



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-17 15:28:40
รายละเอียดของการตอบ ::
Quote:
ตอบ create, get, delete เก็บไว้บนคราวน์ครับ

สิ่งที่ทำอยู่คือ
จากโจทย์ ใช้ api_url ไป call api จากเว็บ setinelone
คือมี api_url ให้อยู่แล้ว และมี token ให้อยู่แล้ว ส่วน token ใช้ในการ authen ครับ

แล้วลองทำ test
create, get, delete iocs ไปยังฝั่ง server เว็บ setinelone ครับ โดยใช้ภาษา python

ทดสอบว่าว่าเราสามารถ create, get, delete iocs ไปยังฝั่ง setinelone ได้หรือไม่ครับ




ประวัติการแก้ไข
2021-08-17 16:05:44
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 16:04:14 By : chawin1
 


 

No. 10



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


พื้นฐานการใช้ python ก็ตาม No.8
ส่วน setinelone ผมไม่รู้จัก...รอคนเคยใช้มาช่วย
เคยเห็นแต่ SentinelOne ซึ่งเป็น Enterprise
และมีหลาย platforms ถ้าเป็นอย่างหลัง
แนะนำสอบถาม Support โดยตรง จะได้คุ้มค่ากับราคา (ตั้งแพง)
และจะได้คำตอบที่ชัดเจนกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 18:12:09 By : TheGreatGod_of_Death
 


 

No. 11



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-17 18:12:09
รายละเอียดของการตอบ ::
Quote:
ขออภัย พิมพ์ setinelone ผิดครับ
ที่จริงคืออันนี้เลยครับ SentinelOne

ทาง SentinelOne เขามีเอกสารในการ create, get, delete ครับ แต่ที่ผมเข้ามาถามในเว็บนี้ คือ ผมไม่รู้วิธีทำ เพราะในเอกสารไม่ได้บอกว่าคุณต้องทำอย่างนี้ .เอกสารบอกแค่พวก authorization ใน header ไม่รู้ใส่ยังไง และให้ข้อมูลมาเป็น json

เข้าใจว่าข้อมูลที่ให้มาเป็น json ให้เรา create เข้าไป ผมเข้าใจถูกไหมครับ

ผมทำถูกไหมครับ ไม่ถูกจุดไหนขอคำแนะนำด้วยครับ **code ที่ให้เป็น ภาษา python นะครับ**


Code (PHP)
import requests
import json

api_url = "https://apne1-1001.sentinelone.net/web/api/v2.1/threat-intelligence/iocs"
headers = {
    "Content-Type": "application/json",
    # token ที่ให้มา
    "Authorization": "TrosYLtWA2lPGCKINvRG403vvSQiYDAxMpgdtYP0e0YXTDw2Xgi8jdJnRtuOaTzfiggBD3ngENJIkkff"
}
# ่data json ที่ให้มา
todo = {
"filter" : {
"accountIds" : ["900000150992118524"]
},
"data" :  [ {
"externalid" : "bb0f3f34-8960-4444-bb38-lf556ebd7d8",
"source" : "EA",
"type" : "DNS",
"value": "mreallybadsite.net",
"method" : "EQUALS",
"name" : "se503.win-indicator",
"descciption"  : "se503.win-description",
"category" : "threats",
"patternType" : " ",
"pattern" :  " ",
"validUntil" : "1624862946",
"creationTime" : "1604862946",
"metadata" : " ",
"mitreTactic" : [ ] ,
"intrusionSets" : [ ],
"reference " : " ",
"LhreaLActors" :  [ ]
}]
}
response = requests.post(api_url, json=todo, verify=False, headers=headers)

# ตรงนี้จะ response ข้อมูลมาให้ใช่ไหมครับ
response.json()

# ไม่แน่ใจตรงส่วนนี้ ต้องใส่ไหมครับ
response.status_code





ประวัติการแก้ไข
2021-08-17 19:19:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 18:50:42 By : chawin1
 


 
ตอบความคิดเห็นที่ : 10 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-17 18:12:09
รายละเอียดของการตอบ ::
Quote:
ผมทำถูกไหมครับ ไม่ถูกจุดไหนขอคำแนะนำด้วยครับ **code ที่ให้เป็น ภาษา python นะครับ**


Code (PHP)
import requests
import json

api_url = "https://apne1-1001.sentinelone.net/web/api/v2.1/threat-intelligence/iocs"
headers = {
    "Content-Type": "application/json",
    # token ที่ให้มา
    "Authorization": "TrosYLtWA2lPGCKINvRG403vvSQiYDAxMpgdtYP0e0YXTDw2Xgi8jdJnRtuOaTzfiggBD3ngENJIkkff"
}
# ่data json ที่ให้มา
todo = {
"filter" : {
"accountIds" : ["900000150992118524"]
},
"data" :  [ {
"externalid" : "bb0f3f34-8960-4444-bb38-lf556ebd7d8",
"source" : "EA",
"type" : "DNS",
"value": "mreallybadsite.net",
"method" : "EQUALS",
"name" : "se503.win-indicator",
"descciption"  : "se503.win-description",
"category" : "threats",
"patternType" : " ",
"pattern" :  " ",
"validUntil" : "1624862946",
"creationTime" : "1604862946",
"metadata" : " ",
"mitreTactic" : [ ] ,
"intrusionSets" : [ ],
"reference " : " ",
"LhreaLActors" :  [ ]
}]
}
response = requests.post(api_url, json=todo, verify=False, headers=headers)

# ตรงนี้จะ response ข้อมูลมาให้ใช่ไหมครับ
response.json()

# ไม่แน่ใจตรงส่วนนี้ ต้องใส่ไหมครับ
response.status_code



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 19:15:24 By : chawin1
 


 

No. 13



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ใช้ฟังก์ชัน print ถ้าอยากดู response ซึ่งจะทำให้เรารู้ว่า CRUD ที่ส่ง request ไปสำเร็จหรือไม่

Code
print(response.json()) print(response.status_code)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-17 19:59:10 By : TheGreatGod_of_Death
 


 

No. 14



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 13 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-17 19:59:10
รายละเอียดของการตอบ ::
Quote:
ครับ code ที่ผมให้ดูเป็นการ create
ตรง todo ที่ผมบอกเป็นข้อมูล json ส่วนนี้ผมทำถูกไหมครับ และ

ตรง response = requests.post ผมทำถูกไหม ใน() เราต้องใส่อะไรบ้างหรอครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-18 08:42:16 By : chawin1
 


 

No. 15



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ต้องดูเอกสารที่เขาให้มา ถ้าไม่มีก็ขอเขาไป ขอตัวอย่างเลยก็ได้ เราจ่ายแล้วอย่าไปเกรงใจ
เพราะที่คุณถามมาเกี่ยวข้องกับฝั่ง server คนนอกอย่างผมหารู้ได้ไม่
จะถูกหรือไม่ต้องดูโครงสร้างภายในประกอบด้วย

เบื้องต้นผมลองคัดลอกไปรันดูแล้ว ได้ error กลับมาว่า ..Authentication Fail
สิ่งที่อาจเป็นปัญหาได้ คือ endpoint(url), header(token), หรือแม้แต่รูปแบบ json ไม่ถูกต้อง
ตามที่เขา(ผู้ให้บริการหรือระบบ) หรือเรา(ผู้ใช้บริการ) กำหนดไว้

วิธีเช็คว่ากระบวนการ request ถูกหรือไม่ ให้ดูจาก response ตามที่ผมบอก
ถ้าสำเร็จจะได้ status_code = 200
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

หรือถ้าไม่มั่นใจนำข้อความ error มาโพสต์ด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-18 12:12:35 By : TheGreatGod_of_Death
 


 

No. 16



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 15 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-18 12:12:35
รายละเอียดของการตอบ ::
Quote:
ครับ ถามไปแล้วครับ
token ที่เขาให้มา เหมือนฝั่งเขาติดปัญหาครับ
ตอนนี้ผมรอ token ตัวใหม่อยู่ครับ ถ้าได้ตัวใหม่มา เดี๋ยวผมลองอีกรอบครับ ถ้ายังติดปีญหาเดี๋ยวผม นำโค้ดมาแป๊ะครับ

ขอถามเพิ่มเติ่มนะครับ
ถ้าสำเร็จจะได้ status_code response = 200 แสดงว่าตรง todo ที่เป็นข้อมูล json คือ ส่งสำเร็จใช่ไหมครับ


Code (PHP)
Quote:
json ที่เขาให้มาตาม format นีเลยครับ ผมไม่ได้แก้อะไรใน format เลยครับ

{
"filter" : {
"accountIds" : ["900000150992118524"]
},
"data" :  [ {
"externalid" : "bb0f3f34-8960-4444-bb38-lf556ebd7d8",
"source" : "EA",
"type" : "DNS",
"value": "mreallybadsite.net",
"method" : "EQUALS",
"name" : "se503.win-indicator",
"descciption"  : "se503.win-description",
"category" : "threats",
"patternType" : " ",
"pattern" :  " ",
"validUntil" : "1624862946",
"creationTime" : "1604862946",
"metadata" : " ",
"mitreTactic" : [ ] ,
"intrusionSets" : [ ],
"reference " : " ",
"LhreaLActors" :  [ ]
}]
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-18 13:43:05 By : chawin1
 


 

No. 17



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ครับ status_code 200 คือ request success ตาม method ที่เราส่งไป
ถ้า get แสดงว่า get สำเร็จ ถ้า post คือ post สำเร็จ...

สิ่งแรกที่ควรเช็ค คือ get เพราะง่ายสุด เว้นแต่บน server ไม่มีข้อมูลให้ get
(แต่ผมค่อนข้างมั่นใจว่าเขาจะมี sample data หรือถ้าไม่มีน่าจะสร้างขึ้นมาได้...โดยทำบน cloud platform)


ตัวอย่าง get เมื่อสำเร็จ (แบบไม่บังคับใส่ headers)
import requests

url = "https://jsonplaceholder.typicode.com/todos/1" #fake API

resp = requests.get(url)

print(resp.text)
print("status_code = " + str(resp.status_code))


response
{ "userId": 1, "id": 1, "title": "delectus aut autem", "completed": false } status_code = 200


เขียว คือข้อมูล response
แดง คือ response status

ลองคัดลอกไปรันดูจะได้เห็นภาพชัดเจนขึ้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-18 14:29:39 By : TheGreatGod_of_Death
 


 

No. 18



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ตัวอย่าง post ไม่สำเร็จ
import requests
from requests.structures import CaseInsensitiveDict

url = "https://jsonplaceholder.typicode.com/todos/500"

headers = CaseInsensitiveDict()
headers["Content-Type"] = "application/json"

data = """
{
  "tck1" : "tcv1",
  "tck2" : "tcv2",
  "tck3" : "tcv3"
}
"""

resp = requests.post(url, headers=headers, data=data)


print(resp.text)
print("status_code = " + str(resp.status_code))


response
{} status_code = 404


จากรายการโค้ด wiki ที่ให้ไป
Quote:
404 Not Found
The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible.

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-18 14:45:15 By : TheGreatGod_of_Death
 


 

No. 19



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


จาก No.18 ถ้าเปลี่ยน endpoint ให้ถูกต้อง

post สำเร็จ
url = "https://jsonplaceholder.typicode.com/posts"


response
{ "tck1": "tcv1", "tck2": "tcv2", "tck3": "tcv3", "id": 101 } status_code = 201


จากลิงค์ wiki ที่ให้ไป
Quote:
201 Created
The request has been fulfilled, resulting in the creation of a new resource.





ตัวอย่าง put
import requests
from requests.structures import CaseInsensitiveDict

url = "https://jsonplaceholder.typicode.com/posts/100" # สังเกต endpoint

headers = CaseInsensitiveDict()
headers["Content-Type"] = "application/json"

data = """
{
  "tck1" : "tcv1_updated",
  "tck2" : "tcv2_updated",
  "tck3" : "tcv3_updated"
}
"""

resp = requests.put(url, headers=headers, data=data) # update ใช้ put()


print(resp.text)
print("status_code = " + str(resp.status_code))


response
{ "tck1": "tcv1_updated", "tck2": "tcv2_updated", "tck3": "tcv3_updated", "id": 100 } status_code = 200


สุดท้าย delete ก็ใช้ delete() method
ลองฝึกใช้ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-18 15:09:28 By : TheGreatGod_of_Death
 


 

No. 20



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 19 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-18 15:09:28
รายละเอียดของการตอบ ::
Quote:
ขอบคุณครับ จะลองทำดูครับ ถ้าผมติดส่วนไหน ผมมา update ครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-18 16:51:56 By : chawin1
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอปรึกษาครับ เราจะ ใช้ url ไป call api มาได้อย่างไรหรอครับ ถามแบบคนไม่รู้เลยและไม่ถนัดโค้ดครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่